NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

How To Write A Advertising And Marketing Approach In 14 Measures

A advertising and marketing tactic acts as a roadmap to guide your promoting efforts. To take your organization from concept to reality, develop it to the subsequent level, or develop it for other markets, so you can appeal to a broader variety of target customers. What this benefits in is peaks and troughs of activity, which supplies an erratic pipeline of sales opportunities. A advertising and marketing program, with a dedicated resource allocated to it, permits you to marketplace the business enterprise continuously and consistently.

<img class="alignleft" style="float:left;margin-right:10px;" src="data:image/jpeg;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLVVTIiA+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KPHRpdGxlPlBhZ2UgTm90IEZvdW5kIC0gRmxvcmlkYSBTQkRDPC90aXRsZT4KPGxpbmsgcmVsPSJwcm9maWxlIiBocmVmPSIvL2dtcGcub3JnL3hmbi8xMSIgLz4KPGxpbmsgcmVsPSJwaW5nYmFjayIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3htbHJwYy5waHAiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvc2hvcnRjb2Rlcy5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3RoZW1lcy93ZWJzaXRlL3N0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvc3R5bGVzL3NiZGNfY3VzdG9tLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+CjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzEyL2Zhdmljb24uaWNvIiAvPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKiA8IVtDREFUQVsgKi8KCXZhciByZXNpemVEaXNhYmxlZCA9ICJ0cnVlIiwKCSAgICBhc3NldHNVcmkgPSAiaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvaW1hZ2VzL2Fzc2V0cyIsCiAgICAgICAgaW1hZ2VOb25jZSA9ICI2MjY1MjdhNDVhIiwKCSAgICBkaXNhYmxlU2xpZGVtZW51ID0gImZhbHNlIiwKCSAgICBwcmV0dHlwaG90b1RoZW1lID0gInBwX2RlZmF1bHQiLAoJICAgIGltYWdlUGFkZGluZyA9ICIwIiwKCSAgICByZXNwb25zaXZlU2l0ZSA9ICJmYWxzZSI7Cglkb2N1bWVudC53cml0ZSgnPHN0eWxlIHR5cGU9InRleHQvY3NzIj4ubm9zY3JpcHR7dmlzaWJpbGl0eTogaGlkZGVuO30uaWUgLm5vc2NyaXB0e3Zpc2liaWxpdHk6IGNvbGxhcHNlO30ubm9zY3JpcHRfZG57ZGlzcGxheTogbm9uZTt9PC9zdHlsZT4nKTsKLyogXV0+ICovCjwvc2NyaXB0PgoNCjwhLS0gTWFwUHJlc3MgRWFzeSBHb29nbGUgTWFwcyBWZXJzaW9uOjIuNjMuMVBSTyAoaHR0cDovL3d3dy5tYXBwcmVzc3Byby5jb20vbWFwcHJlc3MpIC0tPg0KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPm1hcHAgPSB3aW5kb3cubWFwcCB8fCB7fTsgbWFwcC5kYXRhID0gW107PC9zY3JpcHQ+DQo8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J25vaW5kZXgsIGZvbGxvdycgLz4KCgk8IS0tIFRoaXMgc2l0ZSBpcyBvcHRpbWl6ZWQgd2l0aCB0aGUgWW9hc3QgU0VPIHBsdWdpbiB2MTYuNCAtIGh0dHBzOi8veW9hc3QuY29tL3dvcmRwcmVzcy9wbHVnaW5zL3Nlby8gLS0+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyIgLz4KCTxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iUGFnZSBOb3QgRm91bmQgLSBGbG9yaWRhIFNCREMiIC8+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJGbG9yaWRhIFNCREMiIC8+Cgk8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iIGNsYXNzPSJ5b2FzdC1zY2hlbWEtZ3JhcGgiPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiV2ViU2l0ZSIsIkBpZCI6Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS8jd2Vic2l0ZSIsInVybCI6Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS8iLCJuYW1lIjoiRmxvcmlkYSBTQkRDIiwiZGVzY3JpcHRpb24iOiJCdXNpbmVzcyBDb25zdWx0aW5nIiwicG90ZW50aWFsQWN0aW9uIjpbeyJAdHlwZSI6IlNlYXJjaEFjdGlvbiIsInRhcmdldCI6Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS8/cz17c2VhcmNoX3Rlcm1fc3RyaW5nfSIsInF1ZXJ5LWlucHV0IjoicmVxdWlyZWQgbmFtZT1zZWFyY2hfdGVybV9zdHJpbmcifV0sImluTGFuZ3VhZ2UiOiJlbi1VUyJ9XX08L3NjcmlwdD4KCTwhLS0gLyBZb2FzdCBTRU8gcGx1Z2luLiAtLT4KCgo8bGluayByZWw9J2Rucy1wcmVmZXRjaCcgaHJlZj0nLy93d3cuZ29vZ2xlLmNvbScgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vdW5wa2cuY29tJyAvPgo8bGluayByZWw9J2Rucy1wcmVmZXRjaCcgaHJlZj0nLy92MC53b3JkcHJlc3MuY29tJyAvPgo8bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgdGl0bGU9IkZsb3JpZGEgU0JEQyAmcmFxdW87IEZlZWQiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9mZWVkLyIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIHRpdGxlPSJGbG9yaWRhIFNCREMgJnJhcXVvOyBDb21tZW50cyBGZWVkIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY29tbWVudHMvZmVlZC8iIC8+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmltZy53cC1zbWlsZXksCmltZy5lbW9qaSB7CglkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwoJaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsKCXdpZHRoOiAxZW0gIWltcG9ydGFudDsKCW1hcmdpbjogMCAuMDdlbSAhaW1wb3J0YW50OwoJdmVydGljYWwtYWxpZ246IC0wLjFlbSAhaW1wb3J0YW50OwoJYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OwoJcGFkZGluZzogMCAhaW1wb3J0YW50Owp9Cjwvc3R5bGU+Cgk8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdteXNpdGVfcHJldHR5cGhvdG8tY3NzJyAgaHJlZj0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvbGliL3NjcmlwdHMvcHJldHR5cGhvdG8vY3NzL3ByZXR0eVBob3RvLm1pbi5jc3M/dmVyPTIuOC42JyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J3NjcmVlbicgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nbXlzaXRlX2ZsZXhzbGlkZXItY3NzJyAgaHJlZj0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvbGliL3NjcmlwdHMvZmxleHNsaWRlci9mbGV4c2xpZGVyLmNzcz92ZXI9Mi44LjYnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nc2NyZWVuJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3cC1ibG9jay1saWJyYXJ5LWNzcycgIGhyZWY9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1pbmNsdWRlcy9jc3MvZGlzdC9ibG9jay1saWJyYXJ5L3N0eWxlLm1pbi5jc3M/dmVyPTUuNy4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KLmhhcy10ZXh0LWFsaWduLWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5O30KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nY29udGFjdC1mb3JtLTctY3NzJyAgaHJlZj0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9jc3Mvc3R5bGVzLmNzcz92ZXI9NS40LjEnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdtYXBwcmVzcy1sZWFmbGV0LWNzcycgIGhyZWY9J2h0dHBzOi8vdW5wa2cuY29tL2xlYWZsZXRAMS43LjEvZGlzdC9sZWFmbGV0LmNzcz92ZXI9MS43LjEnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdtYXBwcmVzcy1jc3MnICBocmVmPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL21hcHByZXNzLWdvb2dsZS1tYXBzLWZvci13b3JkcHJlc3MvY3NzL21hcHByZXNzLmNzcz92ZXI9Mi42My4xUFJPJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nd3BjZjctcmVkaXJlY3Qtc2NyaXB0LWZyb250ZW5kLWNzcycgIGhyZWY9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvd3BjZjctcmVkaXJlY3QvYnVpbGQvY3NzL3dwY2Y3LXJlZGlyZWN0LWZyb250ZW5kLm1pbi5jc3M/dmVyPTUuNy4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncGFzc3N0ZXItcHVibGljLWNzcycgIGhyZWY9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvY29udGVudC1wcm90ZWN0b3IvYXNzZXRzL3B1YmxpYy9wYXNzc3Rlci1wdWJsaWMubWluLmNzcz92ZXI9YWxsJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZmFuY3lib3gtY3NzJyAgaHJlZj0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lYXN5LWZhbmN5Ym94L2Nzcy9qcXVlcnkuZmFuY3lib3gubWluLmNzcz92ZXI9MS4zLjI0JyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J3NjcmVlbicgLz4KPHN0eWxlIGlkPSdmYW5jeWJveC1pbmxpbmUtY3NzJyB0eXBlPSd0ZXh0L2Nzcyc+CiNmYW5jeWJveC1jb250ZW50e2JvcmRlci1jb2xvcjojZmZmO30KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nY2Y3Y2Ytc3R5bGUtY3NzJyAgaHJlZj0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jZjctY29uZGl0aW9uYWwtZmllbGRzL3N0eWxlLmNzcz92ZXI9Mi4wLjMnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdqZXRwYWNrX2Nzcy1jc3MnICBocmVmPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL2pldHBhY2svY3NzL2pldHBhY2suY3NzP3Zlcj05LjgnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL2VuYWJsZS1qcXVlcnktbWlncmF0ZS1oZWxwZXIvanMvanF1ZXJ5L2pxdWVyeS0xLjEyLjQtd3AuanM/dmVyPTEuMTIuNC13cCcgaWQ9J2pxdWVyeS1jb3JlLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbmFibGUtanF1ZXJ5LW1pZ3JhdGUtaGVscGVyL2pzL2pxdWVyeS1taWdyYXRlL2pxdWVyeS1taWdyYXRlLTEuNC4xLXdwLmpzP3Zlcj0xLjQuMS13cCcgaWQ9J2pxdWVyeS1taWdyYXRlLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvbGliL3NjcmlwdHMvY3VzdG9tLmpzP3Zlcj0yLjguNicgaWQ9J215c2l0ZV9jdXN0b20tanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRlbnQtcHJvdGVjdG9yL2Fzc2V0cy9wdWJsaWMvY29va2llLmpzP3Zlcj0zLjMuOCcgaWQ9J3Bhc3NzdGVyLWNvb2tpZS1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvY29udGVudC1wcm90ZWN0b3IvYXNzZXRzL3B1YmxpYy9jYXB0Y2hhLmpzP3Zlcj0zLjMuOCcgaWQ9J3Bhc3NzdGVyLWNhcHRjaGEtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J3Bhc3NzdGVyLXB1YmxpYy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgcHNfYWpheCA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc2JkY3RhbXBhYmF5LmNvbVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwiZGF5cyI6IjIiLCJ1c2VfY29va2llIjoib24iLCJub19hamF4Ijoib24iLCJub25jZSI6ImUyZTJmMmRkODYiLCJwb3N0X2lkIjoiMTU2OTciLCJjYXB0Y2hhX2Vycm9yIjoiU29ycnksIHlvdXIgY2FwdGNoYSBzb2x1dGlvbiB3YXMgd3JvbmcuIiwicmVjYXB0Y2hhX2tleSI6IiIsInNob3J0Y29kZXMiOltdfTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRlbnQtcHJvdGVjdG9yL2Fzc2V0cy9wdWJsaWMvcGFzc3N0ZXItcHVibGljLm1pbi5qcz92ZXI9My4zLjguOCcgaWQ9J3Bhc3NzdGVyLXB1YmxpYy1qcyc+PC9zY3JpcHQ+CjxsaW5rIHJlbD0iaHR0cHM6Ly9hcGkudy5vcmcvIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtanNvbi8iIC8+PGxpbmsgcmVsPSJFZGl0VVJJIiB0eXBlPSJhcHBsaWNhdGlvbi9yc2QreG1sIiB0aXRsZT0iUlNEIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20veG1scnBjLnBocD9yc2QiIC8+CjxsaW5rIHJlbD0id2x3bWFuaWZlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3dsd21hbmlmZXN0K3htbCIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWluY2x1ZGVzL3dsd21hbmlmZXN0LnhtbCIgLz4gCjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iV29yZFByZXNzIDUuNy4yIiAvPgo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMiPg0KPCEtLSBHbG9iYWwgc2l0ZSB0YWcgKGd0YWcuanMpIC0gR29vZ2xlIEFuYWx5dGljcyAtLT4NCjxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPVVBLTcyMTEyNS0zIj48L3NjcmlwdD4NCjxzY3JpcHQ+DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ1VBLTcyMTEyNS0zJyk7DQoNCjwvc2NyaXB0Pg0KPCEtLU9VVEJPVU5ELS0+DQo8c2NyaXB0Pg0KLyoqDQoqIEZ1bmN0aW9uIHRoYXQgYXV0b21hdGljYWxseSB0cmFja3MgYSBjbGljayBvbiBhbiBvdXRib3VuZCBsaW5rIGluIEdvb2dsZSBBbmFseXRpY3MsDQoqIHVzaW5nIHRoZSBndGFncy5qcy4gU2V0dGluZyB0aGUgdHJhbnNwb3J0IG1ldGhvZCB0byAnYmVhY29uJyBsZXRzIHRoZSBoaXQgYmUgc2VudA0KKiB1c2luZyAnbmF2aWdhdG9yLnNlbmRCZWFjb24nIGluIGJyb3dzZXIgdGhhdCBzdXBwb3J0IGl0Lg0KKiBQbGVhc2UgZW5zdXJlIHlvdSBhbHJlYWR5IGhhdmUgalF1ZXJ5IGluc3RhbGxlZC4NCiovDQp2YXIgdHJhY2tPdXRib3VuZExpbmsgPSBmdW5jdGlvbih1cmwpIHsNCiAgZ3RhZygnZXZlbnQnLCAnY2xpY2snLCB7DQogICAgJ2V2ZW50X2NhdGVnb3J5JzogJ291dGJvdW5kJywNCiAgICAnZXZlbnRfbGFiZWwnOiB1cmwsDQogICAgJ3RyYW5zcG9ydF90eXBlJzogJ2JlYWNvbicsDQogICAgJ2V2ZW50X2NhbGxiYWNrJzogZnVuY3Rpb24oKXtkb2N1bWVudC5sb2NhdGlvbiA9IGhyZWY7fQ0KICB9KTsNCn0NCjwvc2NyaXB0Pg0KDQo8c2NyaXB0Pg0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7DQogICAkKCdhW2hyZWZePSJodHRwIl06bm90KFtocmVmKj0iLy8nICsgbG9jYXRpb24uaG9zdCArICciXSknKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB0cmFja091dGJvdW5kTGluaygkKHRoaXMpLmF0dHIoImhyZWYiKSk7IHJldHVybiB0cnVlOw0KICAgICAgICB9KTsNCiAgfSk7DQo8L3NjcmlwdD4NCjwhLS1FTkQgR09PR0xFIE9VVEJPVU5EIExJTktTLS0+DQo8IS0tVFJBQ0sgUERGLCBURUwsIE1BSUxUTy0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICBqUXVlcnkoZnVuY3Rpb24oKSB7DQogICAgalF1ZXJ5KCdhW2hyZWYkPSIucGRmIl0nKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgdmFyIHBkZj1qUXVlcnkodGhpcykuYXR0cignaHJlZicpOw0KICAgICAgZ3RhZygnZXZlbnQnLCAnZG93bmxvYWQnLCB7IGV2ZW50X2NhdGVnb3J5OiAnZG93bmxvYWQnLCBldmVudF9hY3Rpb246ICdwZGYnLCBldmVudF9sYWJlbDogcGRmfSk7DQogICAgfSk7DQogICAgalF1ZXJ5KCdhW2hyZWZePSJtYWlsdG86Il0nKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgdmFyIG1haWx0bz1qUXVlcnkodGhpcykuYXR0cignaHJlZicpOw0KICAgICAgZ3RhZygnZXZlbnQnLCAnY29udGFjdCcsIHsgZXZlbnRfY2F0ZWdvcnk6ICdjb250YWN0JywgZXZlbnRfYWN0aW9uOiAnbWFpbHRvJywgZXZlbnRfbGFiZWw6IG1haWx0b30pOw0KICAgIH0pOw0KICAgIGpRdWVyeSgnYVtocmVmXj0idGVsOiJdJykuY2xpY2soZnVuY3Rpb24oKXsNCiAgICAgIHZhciBjdGM9alF1ZXJ5KHRoaXMpLmF0dHIoJ2hyZWYnKTsNCiAgICAgIGd0YWcoJ2V2ZW50JywgJ2NvbnRhY3QnLCB7IGV2ZW50X2NhdGVnb3J5OiAnY29udGFjdCcsIGV2ZW50X2FjdGlvbjogJ2NsaWNrLXRvLWNhbGwnLCBldmVudF9sYWJlbDogY3RjfSk7DQogICAgfSk7DQogIH0pOw0KPC9zY3JpcHQ+IA0KPCEtLUVORCBUUkFDSyBQREYsIFRFTCwgTUFJTFRPLS0+CgkJPHN0eWxlPgoJCS5wYXNzc3Rlci1mb3JtIHsKCQkJYmFja2dyb3VuZDogI0Y5RjlGOTsKCQkJcGFkZGluZzogMTBweDsKCQkJbWFyZ2luOiAwcHg7CgkJfQoJCS5wYXNzc3Rlci1mb3JtIGg0IHsKCQkJZm9udC1zaXplOiAyMHB4OwoJCQlmb250LXdlaWdodDogNzAwOwoJCQljb2xvcjogIzQ5OThiMzsKCQl9CgkJLnBhc3NzdGVyLWZvcm0gcCB7CgkJCWZvbnQtc2l6ZTogMTRweDsKCQkJZm9udC13ZWlnaHQ6IDQwMDsKCQkJY29sb3I6ICMwMDAwMDA7CgkJfQoJCS5wYXNzc3Rlci1zdWJtaXQsIC5wYXNzc3Rlci1zdWJtaXQtcmVjYXB0Y2hhLCAucGFzc3N0ZXItc3VibWl0LWNhcHRjaGEgewoJCQljb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OwoJCQliYWNrZ3JvdW5kOiAjNDk5OGIzICFpbXBvcnRhbnQ7CgkJfQoJCS5wYXNzc3Rlci1zdWJtaXQ6aG92ZXIsIC5wYXNzc3Rlci1zdWJtaXQtcmVjYXB0Y2hhOmhvdmVyLCAucGFzc3N0ZXItc3VibWl0LWNhcHRjaGE6aG92ZXIgewoJCQljb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OwoJCQliYWNrZ3JvdW5kOiAjYWExMTAwICFpbXBvcnRhbnQ7CgkJfSAgICAgICAgICAgICAgICAKCQk8L3N0eWxlPgoJCTxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+aW1nI3dwc3RhdHN7ZGlzcGxheTpub25lfTwvc3R5bGU+CgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qIDwhW0NEQVRBWyAqL2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7dmFyIHNlYXJjaCA9IGpRdWVyeSgnI2ZhbmN5X3NlYXJjaCcpLHNlYXJjaEZpZWxkID0gc2VhcmNoLmZpbmQoJ2lucHV0LnRleHQnKTt2YXIgaG92ZXJDb25maWdTZWFyY2ggPSB7aW50ZXJ2YWw6MTAwLHRpbWVvdXQ6MjAwMCxvdmVyOmZ1bmN0aW9uKCl7alF1ZXJ5KHNlYXJjaEZpZWxkKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTtzZWFyY2hGaWVsZC5hbmltYXRlKHt3aWR0aDoxNjB9LCA0MDAsICdlYXNlSW5PdXRRdWFkJykuZm9jdXMoKTt9LG91dDpmdW5jdGlvbigpe3NlYXJjaEZpZWxkLmFuaW1hdGUoe3dpZHRoOjB9LCA0MDAsICdlYXNlSW5PdXRRdWFkJywgZnVuY3Rpb24oKXsgalF1ZXJ5KHNlYXJjaEZpZWxkKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpIH0gKS5ibHVyKCk7fX07c2VhcmNoLmhvdmVySW50ZW50KGhvdmVyQ29uZmlnU2VhcmNoKTt9KTsvKiBdXT4gKi88L3NjcmlwdD4JCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJCQkJLyogSWYgaHRtbCBkb2VzIG5vdCBoYXZlIGVpdGhlciBjbGFzcywgZG8gbm90IHNob3cgbGF6eSBsb2FkZWQgaW1hZ2VzLiAqLwoJCQkJaHRtbDpub3QoIC5qZXRwYWNrLWxhenktaW1hZ2VzLWpzLWVuYWJsZWQgKTpub3QoIC5qcyApIC5qZXRwYWNrLWxhenktaW1hZ2UgewoJCQkJCWRpc3BsYXk6IG5vbmU7CgkJCQl9CgkJCTwvc3R5bGU+CgkJCTxzY3JpcHQ+CgkJCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgKCQkJCQknamV0cGFjay1sYXp5LWltYWdlcy1qcy1lbmFibGVkJwoJCQkJKTsKCQkJPC9zY3JpcHQ+CgkJCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiIGlkPSJ3cC1jdXN0b20tY3NzIj4KCQkJZGl2I2Zsb2F0cmlnaHQgewpmbG9hdDogbm9uZTsKcGFkZGluZzogMjBweCAwcHggMzBweCAwcHg7Cn0KCmltZyB7Cm9iamVjdC1maXQ6IGNvdmVyOwpvYmplY3QtcG9zaXRpb246IGNlbnRlcjsKfQkJPC9zdHlsZT4KCQk8L2hlYWQ+Cgo8Ym9keSBkYXRhLXJzc3NsPTEgY2xhc3M9InBvc3RfdmV0ZXJhbi1vd25lZC1idXNpbmVzcy1ncm93cy1ieS1naXZpbmctYmFjay10by10aGUtY29tbXVuaXR5IHJpZ2h0X3NpZGViYXIgaGFzX2hlYWRlcl9zb2NpYWwiPgo8ZGl2IGNsYXNzPSJtdWx0aWJnIj48ZGl2IGNsYXNzPSJtdWx0aWJnIj48L2Rpdj48L2Rpdj4KPGRpdiBpZD0iYm9keV9pbm5lciI+CgkKPGRpdiBpZD0iaGVhZGVyIj4KCQk8ZGl2IGlkPSJoZWFkZXJfaW5uZXIiPgoJCTwhLS1BRERFRCBCWSBTQU5EWS0tPgoJCQk8ZGl2IGlkPSJkb25hdGUiPjxhIGhyZWY9Imh0dHA6Ly91c2YuZWR1L3VhL0ZVTkQ/ZnVuZD0yMDA0MTAiPjxpbWcgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTQvMDMvZG9uYXRlMi5wbmciIGFsdD0iZG9uYXRlIj48L2E+PC9kaXY+CgkJCTwhLS1FTkQgQURERUQgQlkgU0FORFktLT4KCQkJPCEtLUFEREVEIEJZIFNBTkRZLS0+PCEtLUVORCBBRERFRCBCWSBTQU5EWS0tPgoJCQkKCQkJCgkJPGRpdiBjbGFzcz0ibG9nbyI+PGEgcmVsPSJob21lIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vIiBjbGFzcz0ic2l0ZV9sb2dvIj48aW1nIHNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL2RvdWJsZS1sb2dvcy1uZXctbG9nby0xMTEucG5nIiBhbHQ9IkZsb3JpZGEgU0JEQyIgIC8+PC9hPjwvZGl2PjwhLS0gLmxvZ28gLS0+PGRpdiBpZD0iaGVhZGVyX2V4dHJhcyI+PGRpdiBpZD0iaGVhZGVyX2V4dHJhc19pbm5lciI+PGRpdiBjbGFzcz0iaGVhZGVyX3NvY2lhbCI+PGRpdiBjbGFzcz0ic29jaWFsX2ljb24gZGVmYXVsdCI+PGEgaHJlZj0iaHR0cDovL3d3dy5mYWNlYm9vay5jb20vdXNmc2JkYyI+PGltZyBzcmM9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMy9mYWNlYm9va18zMi5wbmciIGFsdD0iRmFjZWJvb2siIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNvY2lhbF9pY29uIGRlZmF1bHQiPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS91c2ZzYmRjIj48aW1nIHNyYz0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAzL3R3aXR0ZXJfMzIucG5nIiBhbHQ9IlR3aXR0ZXIiIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNvY2lhbF9pY29uIGRlZmF1bHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L3VzZnNiZGMiPjxpbWcgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDMvbGlua2VkaW5fMzIucG5nIiBhbHQ9IkxpbmtlZGluIiAvPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJzb2NpYWxfaWNvbiBkZWZhdWx0Ij48YSBocmVmPSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvdXNmc2JkYyI+PGltZyBzcmM9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMy95b3V0dWJlXzMyLnBuZyIgYWx0PSJZb3VUdWJlIiAvPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJzb2NpYWxfaWNvbiBkZWZhdWx0Ij48YSBocmVmPSJodHRwczovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy91c2ZzYmRjLyI+PGltZyBzcmM9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMy9mbGlja3JfMzIucG5nIiBhbHQ9IkZsaWNrciIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic29jaWFsX2ljb24gdGVhbF9jaXJjbGVzIj48YSBocmVmPSJodHRwczovL3d3dy5zbGlkZXNoYXJlLm5ldC9zYmRjdGFtcGFiYXkiPjxpbWcgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDMvc2xpZGVzaGFyZV8zMi5wbmciIGFsdD0iU2xpZGVzaGFyZSIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic29jaWFsX2ljb24gZGVmYXVsdCI+PGEgaHJlZj0iL2ZlZWQvIj48aW1nIHNyYz0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAzL3Jzc18zMi5wbmciIGFsdD0iUlNTIEZlZWQiIC8+PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwhLS0gI2hlYWRlcl9leHRyYXNfaW5uZXIgLS0+PC9kaXY+PCEtLSAjaGVhZGVyX2V4dHJhcyAtLT48L2Rpdj48IS0tICNoZWFkZXJfaW5uZXIgLS0+Cgk8L2Rpdj48IS0tICNoZWFkZXIgLS0+CgkKPGRpdiBpZD0icHJpbWFyeV9tZW51Ij48ZGl2IGNsYXNzPSJqcXVlcnlzbGlkZW1lbnUiPjx1bCBpZD0ibWVudS1tYWluLW5hdiIgY2xhc3M9IiI+PGxpIGlkPSJtZW51LWl0ZW0tMTA0MCIgY2xhc3M9Im1lbnUtbWFpbi1uYXYyIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20iPjxhIHRpdGxlPSJTQkRDIEhvbWUiIGhyZWY9Ii8iPjxzcGFuPkhvbWU8L3NwYW4+PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEwNDEiIGNsYXNzPSJtZW51LW1haW4tbmF2MiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4iPjxhIHRpdGxlPSJTQkRDIFNlcnZpY2VzIj48c3Bhbj5TZXJ2aWNlczwvc3Bhbj48L2E+Cjx1bCBjbGFzcz0ic3ViLW1lbnUiPgoJPGxpIGlkPSJtZW51LWl0ZW0tNDYyMCIgY2xhc3M9Im1lbnUtbWFpbi1uYXYzIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSB0aXRsZT0iR3Jvd3RoIEFjY2VsZXJhdGlvbiBTZXJ2aWNlcyIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3NlcnZpY2VzL2dyb3d0aC1hY2NlbGVyYXRpb24tc2VydmljZXMvIj5Hcm93dGggQWNjZWxlcmF0aW9uPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NzE3IiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLWhhcy1jaGlsZHJlbiI+PGEgdGl0bGU9IldvbWVuLCBNaW5vcml0eSwgVmV0ZXJhbiBDZXJ0aWZpY2F0aW9uIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc2VydmljZXMvd29tZW4tbWlub3JpdHktdmV0ZXJhbi1jZXJ0aWZpY2F0aW9uLyI+Q2VydGlmaWNhdGlvbnM8L2E+Cgk8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCQk8bGkgaWQ9Im1lbnUtaXRlbS0xMTk2MCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vYmlkLW9wcG9ydHVuaXRpZXMvIj5CaWQgT3Bwb3J0dW5pdGllczwvYT48L2xpPgoJPC91bD4KPC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTQ3NDUiIGNsYXNzPSJtZW51LW1haW4tbmF2MyBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgdGl0bGU9Ik1pbm9yaXR5LU93bmVkIEJ1c2luZXNzIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc2VydmljZXMvbWlub3JpdHktb3duZWQtYnVzaW5lc3MvIj5NaW5vcml0eS1Pd25lZDwvYT48L2xpPgoJPGxpIGlkPSJtZW51LWl0ZW0tNDc0NyIgY2xhc3M9Im1lbnUtbWFpbi1uYXYzIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSB0aXRsZT0iV29tYW4tT3duZWQgQnVzaW5lc3MiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9zZXJ2aWNlcy93b21hbi1vd25lZC1idXNpbmVzcy8iPldvbWFuLU93bmVkPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NzQ2IiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJWZXRlcmFuLU93bmVkIEJ1c2luZXNzIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc2VydmljZXMvdmV0ZXJhbi1vd25lZC1idXNpbmVzcy8iPlZldGVyYW4tT3duZWQ8L2E+PC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTQ3MTgiIGNsYXNzPSJtZW51LW1haW4tbmF2MyBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgdGl0bGU9IkludGVybmF0aW9uYWwgVHJhZGUiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9zZXJ2aWNlcy9pbnRlcm5hdGlvbmFsLXRyYWRlLyI+SW50ZXJuYXRpb25hbCBUcmFkZTwvYT48L2xpPgoJPGxpIGlkPSJtZW51LWl0ZW0tNDY0NCIgY2xhc3M9Im1lbnUtbWFpbi1uYXYzIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4iPjxhIHRpdGxlPSJHb3Zlcm5tZW50IENvbnRyYWN0aW5nIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc2VydmljZXMvZ292ZXJubWVudC1jb250cmFjdGluZy8iPkdvdmVybm1lbnQgQ29udHJhY3Rpbmc8L2E+Cgk8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCQk8bGkgaWQ9Im1lbnUtaXRlbS0xMTk2MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vYmlkLW9wcG9ydHVuaXRpZXMvIj5CaWQgT3Bwb3J0dW5pdGllczwvYT48L2xpPgoJPC91bD4KPC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTQ2MjEiIGNsYXNzPSJtZW51LW1haW4tbmF2MyBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgdGl0bGU9IkNvbnN1bHRpbmcgZm9yIEVzdGFibGlzaGVkIEJ1c2luZXNzZXMiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9zZXJ2aWNlcy9jb25zdWx0aW5nLyI+Q29uc3VsdGluZzwvYT48L2xpPgoJPGxpIGlkPSJtZW51LWl0ZW0tNTA1NSIgY2xhc3M9Im1lbnUtbWFpbi1uYXYzIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4iPjxhIHRpdGxlPSJUcmFpbmluZyIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3RyYWluaW5nLyI+VHJhaW5pbmc8L2E+Cgk8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCQk8bGkgaWQ9Im1lbnUtaXRlbS0xNDkwMCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vdHJhaW5pbmctY2FsZW5kYXIvb24tZGVtYW5kLXNlbWluYXJzLyI+VHJhaW5pbmcgQ2FsZW5kYXI8L2E+PC9saT4KCTwvdWw+CjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS01MjYxIiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTdGFydGluZyBZb3VyIEJ1c2luZXNzIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc3RhcnRpbmcteW91ci1idXNpbmVzcy8iPlN0YXJ0aW5nIFlvdXIgQnVzaW5lc3M8L2E+PC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTc3NDgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2J1c2luZXNzLWNvbnRpbnVpdHktZGlzYXN0ZXItcHJlcGFyZWRuZXNzLyI+RGlzYXN0ZXIgUHJlcGFyZWRuZXNzPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS0xMDUzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vc3R1ZGVudC10ZWFtcy8iPlN0dWRlbnQgVGVhbXM8L2E+PC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTEzMTY3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9vcmdhbml6YXRpb25hbC1kZXZlbG9wbWVudC8iPk9yZ2FuaXphdGlvbmFsIERldmVsb3BtZW50PC9hPjwvbGk+CjwvdWw+CjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTExMjIzIiBjbGFzcz0ibWVudS1tYWluLW5hdjIgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIj48YSBocmVmPSIvbG9jYXRpb25zLyI+PHNwYW4+TG9jYXRpb25zPC9zcGFuPjwvYT4KPHVsIGNsYXNzPSJzdWItbWVudSI+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NTA5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTQkRDIExvY2F0aW9ucyAiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9sb2NhdGlvbnMvIj5PdXIgTG9jYXRpb25zPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS04NzUyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9tZWV0LWNsaWVudHMvIj5NZWV0IE91ciBDbGllbnRzPC9hPjwvbGk+CjwvdWw+CjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTQ1OTIiIGNsYXNzPSJtZW51LW1haW4tbmF2MiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgdGl0bGU9IkJ1c2luZXNzIFJlc291cmNlcyBhbmQgVG9vbHMiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9yZXNvdXJjZXMvIj48c3Bhbj5SZXNvdXJjZXM8L3NwYW4+PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTExMjIyIiBjbGFzcz0ibWVudS1tYWluLW5hdjIgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIj48YT48c3Bhbj5OZXdzPC9zcGFuPjwvYT4KPHVsIGNsYXNzPSJzdWItbWVudSI+Cgk8bGkgaWQ9Im1lbnUtaXRlbS02MTMwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTQkRDIFNtYWxsIEJ1c2luZXNzIEJsb2ciIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9ibG9nLyI+QmxvZzwvYT48L2xpPgoJPGxpIGlkPSJtZW51LWl0ZW0tMTA1MjgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL21lZGlhLyI+TWVkaWEgSW5xdWlyaWVzPC9hPjwvbGk+CjwvdWw+CjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEwNDQiIGNsYXNzPSJtZW51LW1haW4tbmF2MiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4iPjxhPjxzcGFuPkFib3V0IFVzPC9zcGFuPjwvYT4KPHVsIGNsYXNzPSJzdWItbWVudSI+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NDkwIiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTQkRDIE1pc3Npb24gYW5kIFZpc2lvbiIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL21pc3Npb252aXNpb24vIj5NaXNzaW9uL1Zpc2lvbjwvYT48L2xpPgoJPGxpIGlkPSJtZW51LWl0ZW0tMTMzMSIgY2xhc3M9Im1lbnUtbWFpbi1uYXYzIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSB0aXRsZT0iU0JEQyBDb25zdWx0YW50cyIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL21lZXQtdGhlLWNvbnN1bHRhbnRzLyI+Q29uc3VsdGFudHM8L2E+PC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTExMTY3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9zdGFmZi8iPk1lZXQgdGhlIFN0YWZmPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NTg1IiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTQkRDIFBhcnRuZXJzIGFuZCBBZmZpbGlhdGVzIiBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vcGFydG5lcnMtYWZmaWxpYXRlcy8iPlBhcnRuZXJzIC8gQWZmaWxpYXRlczwvYT48L2xpPgo8L3VsPgo8L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS00OTM5IiBjbGFzcz0ibWVudS1tYWluLW5hdjIgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIj48YT48c3Bhbj5SZXN1bHRzPC9zcGFuPjwvYT4KPHVsIGNsYXNzPSJzdWItbWVudSI+Cgk8bGkgaWQ9Im1lbnUtaXRlbS00NTU5IiBjbGFzcz0ibWVudS1tYWluLW5hdjMgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIHRpdGxlPSJTbWFsbCBCdXNpbmVzcyBTdWNjZXNzIFN0b3JpZXMiIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9idXNpbmVzcy1zdWNjZXNzLXN0b3JpZXMvIj5TdWNjZXNzIFN0b3JpZXM8L2E+PC9saT4KCTxsaSBpZD0ibWVudS1pdGVtLTQ1OTEiIGNsYXNzPSJtZW51LW1haW4tbmF2MyBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgdGl0bGU9IkVjb25vbWljIEltcGFjdCIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2Vjb25vbWljLWltcGFjdC8iPkVjb25vbWljIEltcGFjdDwvYT48L2xpPgo8L3VsPgo8L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS05MjcwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jb250YWN0LXVzLyI+PHNwYW4+Q29udGFjdDwvc3Bhbj48L2E+PC9saT4KPC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmJvdGgiPjwvZGl2PjxkaXYgaWQ9ImZhbmN5X3NlYXJjaCIgY2xhc3M9InNlYXJjaF9oaWRkZW4iPjxmb3JtIGlkID0gInNlYXJjaGZvcm0iIG1ldGhvZD0iZ2V0IiBhY3Rpb249Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS8iPjxpbnB1dCBjbGFzcz0idGV4dCIgbmFtZT0icyIgaWQ9InMiIHN0eWxlPSJ3aWR0aDowcHg7bWFyZ2luOjA7ZGlzcGxheTpub25lOyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiAvPjwvZm9ybT48L2Rpdj48L2Rpdj48IS0tICNwcmltYXJ5X21lbnUgLS0+PGRpdiBpZD0iY29udGVudCI+CgkJPGRpdiBpZD0iY29udGVudF9pbm5lciI+CgkJCQoJCQk8ZGl2IGlkPSJtYWluIj4KCQkJCTxkaXYgaWQ9Im1haW5faW5uZXIiPgoJCQkJCQoJPGRpdiBpZD0icG9zdC0wIiBjbGFzcz0icGFnZSBlcnJvcjQwNCBub3RfZm91bmQiPgoJCgk8aDEgY2xhc3M9InBvc3RfdGl0bGUiPk5vdCBGb3VuZDwvaDE+CgkJCgk8ZGl2IGNsYXNzPSJlbnRyeSI+CgkJPHA+QXBvbG9naWVzLCBidXQgdGhlIHBhZ2UgeW91IHJlcXVlc3RlZCBjb3VsZCBub3QgYmUgZm91bmQuIFBlcmhhcHMgc2VhcmNoaW5nIHdpbGwgaGVscC48L3A+CgkJCQk8Zm9ybSByb2xlPSJzZWFyY2giIG1ldGhvZD0iZ2V0IiBpZD0ic2VhcmNoZm9ybSIgY2xhc3M9InNlYXJjaGZvcm0iIGFjdGlvbj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tLyI+CgkJCQk8ZGl2PgoJCQkJCTxsYWJlbCBjbGFzcz0ic2NyZWVuLXJlYWRlci10ZXh0IiBmb3I9InMiPlNlYXJjaCBmb3I6PC9sYWJlbD4KCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IiIgbmFtZT0icyIgaWQ9InMiIC8+CgkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InNlYXJjaHN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgLz4KCQkJCTwvZGl2PgoJCQk8L2Zvcm0+CTwvZGl2PjwhLS0gLmVudHJ5IC0tPgo8L2Rpdj48IS0tICNwb3N0LTAgLS0+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8qIDwhW0NEQVRBWyAqLwoJLy8gZm9jdXMgb24gc2VhcmNoIGZpZWxkIGFmdGVyIGl0IGhhcyBsb2FkZWQKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzJykgJiYgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3MnKS5mb2N1cygpOwovKiBdXT4gKi8KPC9zY3JpcHQ+CgoKCQkKCQk8ZGl2IGNsYXNzPSJjbGVhcmJvdGgiPjwvZGl2PgoJPC9kaXY+PCEtLSAjbWFpbl9pbm5lciAtLT4KPC9kaXY+PCEtLSAjbWFpbiAtLT4KCgo8ZGl2IGlkPSJzaWRlYmFyIj4KCTxzcGFuIGNsYXNzPSJzaWRlYmFyX3RvcCI+PC9zcGFuPgoJCTxkaXYgaWQ9InNpZGViYXJfaW5uZXIiPgoJCQoJCQkKCQkJPGRpdiBpZD0idGV4dC0yNCIgY2xhc3M9IndpZGdldCB3aWRnZXRfdGV4dCI+CQkJPGRpdiBjbGFzcz0idGV4dHdpZGdldCI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3NjaGVkdWxlLWNvbnN1bHRhbnQvP3V0bV9zb3VyY2U9YnV0dG9uJnV0bV9tZWRpdW09Y2xpY2smdXRtX2NhbXBhaWduPXNjaGVkdWxlLWNvbnN1bHRhbnQiPjxpbWcgY2xhc3M9ImhvdmVyX2ZhZGVfanMgamV0cGFjay1sYXp5LWltYWdlIiBhbHQ9IlNjaGVkdWxlIGEgQ29uc3VsdGFudCIgdGl0bGU9IlNjaGVkdWxlIGEgQ29uc3VsdGFudCIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTIvYnV0dG9uLXNjaGVkdWxlMS5qcGciIHdpZHRoPSIyNTAiIGhlaWdodD0iOTMiIGRhdGEtbGF6eS1zcmM9Ii93cC1jb250ZW50L3VwbG9hZHMvMjAxMy8xMi9idXR0b24tc2NoZWR1bGUxLmpwZz9pcy1wZW5kaW5nLWxvYWQ9MSIgc3Jjc2V0PSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciPjxub3NjcmlwdD48aW1nIGNsYXNzPSJob3Zlcl9mYWRlX2pzIiBhbHQ9IlNjaGVkdWxlIGEgQ29uc3VsdGFudCIgdGl0bGU9IlNjaGVkdWxlIGEgQ29uc3VsdGFudCIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTIvYnV0dG9uLXNjaGVkdWxlMS5qcGciIHdpZHRoPSIyNTAiIGhlaWdodD0iOTMiIC8+PC9ub3NjcmlwdD48L2E+DQo8YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vdHJhaW5pbmctY2FsZW5kYXIvP3V0bV9zb3VyY2U9YnV0dG9uJnV0bV9tZWRpdW09Y2xpY2smdXRtX2NhbXBhaWduPXJlZ2lzdGVyLWZvci1jbGFzcyI+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyBqZXRwYWNrLWxhenktaW1hZ2UiIGFsdD0iUmVnaXN0ZXIgZm9yIGEgQ2xhc3MiIHRpdGxlPSJSZWdpc3RlciBmb3IgYSBDbGFzcyIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTEvMDAwODkuanBnIiB3aWR0aD0iMjUwIiBoZWlnaHQ9IjkzIiBkYXRhLWxhenktc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTEvMDAwODkuanBnP2lzLXBlbmRpbmctbG9hZD0xIiBzcmNzZXQ9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyI+PG5vc2NyaXB0PjxpbWcgY2xhc3M9ImhvdmVyX2ZhZGVfanMiIGFsdD0iUmVnaXN0ZXIgZm9yIGEgQ2xhc3MiIHRpdGxlPSJSZWdpc3RlciBmb3IgYSBDbGFzcyIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTEvMDAwODkuanBnIiAgd2lkdGg9IjI1MCIgaGVpZ2h0PSI5MyIgLz48L25vc2NyaXB0PjwvYT4NCjxhIGhyZWY9Ii9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy8iPjxpbWcgY2xhc3M9ImhvdmVyX2ZhZGVfanMgamV0cGFjay1sYXp5LWltYWdlIiBhbHQ9IkZBUSIgdGl0bGU9IkZBUSIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTMvMTIvYnV0dG9uLXF1ZXN0aW9uLmpwZyIgd2lkdGg9IjI1MCIgaGVpZ2h0PSI5MyIgZGF0YS1sYXp5LXNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzEyL2J1dHRvbi1xdWVzdGlvbi5qcGc/aXMtcGVuZGluZy1sb2FkPTEiIHNyY3NldD0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Ij48bm9zY3JpcHQ+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyIgYWx0PSJGQVEiIHRpdGxlPSJGQVEiIHNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzEyL2J1dHRvbi1xdWVzdGlvbi5qcGciIHdpZHRoPSIyNTAiIGhlaWdodD0iOTMiIC8+PC9ub3NjcmlwdD48L2E+DQoNCjwvZGl2PgoJCTwvZGl2PjxkaXYgaWQ9InRleHQtNDciIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X3RleHQiPgkJCTxkaXYgY2xhc3M9InRleHR3aWRnZXQiPjxwPjxpbWcgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC91cGxvYWRzL2ltcGFjdC1ncmFwaGljcy9yZXN1bHRzLWFsbC5naWYiIGFsdD0iQWNjb21wbGlzaG1lbnRzIiBkYXRhLWxhenktc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC91cGxvYWRzL2ltcGFjdC1ncmFwaGljcy9yZXN1bHRzLWFsbC5naWY/aXMtcGVuZGluZy1sb2FkPTEiIHNyY3NldD0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBjbGFzcz0iIGpldHBhY2stbGF6eS1pbWFnZSI+PG5vc2NyaXB0PjxpbWcgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC91cGxvYWRzL2ltcGFjdC1ncmFwaGljcy9yZXN1bHRzLWFsbC5naWYiIGFsdD0iQWNjb21wbGlzaG1lbnRzIiAvPjwvbm9zY3JpcHQ+PC9wPgo8L2Rpdj4KCQk8L2Rpdj48ZGl2IGlkPSJuYXZfbWVudS03IiBjbGFzcz0id2lkZ2V0IHdpZGdldF9uYXZfbWVudSI+PGg0IGNsYXNzPSJ3aWRnZXR0aXRsZSI+QmxvZyBDYXRlZ29yaWVzPC9oND48ZGl2IGNsYXNzPSJtZW51LWNhdGVnb3JpZXMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtY2F0ZWdvcmllcyIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTEyNjkyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNjkyIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvYmlkLyI+QmlkIE9wcG9ydHVuaXRpZXM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI2OTQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI2OTQiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9idXNpbmVzcy1lc3NlbnRpYWxzLyI+QnVzaW5lc3MgRXNzZW50aWFsczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjY5NSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjY5NSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L2J1c2luZXNzLXBsYW5zLyI+QnVzaW5lc3MgUGxhbnM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI2OTciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI2OTciPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9idXlpbmctYS1idXNpbmVzcy8iPkJ1eWluZyBhIEJ1c2luZXNzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNjk4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNjk4Ij48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvY2VydGlmaWNhdGlvbnMvIj5DZXJ0aWZpY2F0aW9uczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjcxNyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjcxNyI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L2NvbnN1bHRhbnRzL2dvdmVybm1lbnQtY29udHJhY3RpbmctY29uc3VsdGFudHMvIj5Hb3Zlcm5tZW50IENvbnRyYWN0aW5nIENvbnN1bHRhbnRzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzMwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzMwIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvY3Jvd2RmdW5kaW5nLyI+Q3Jvd2RmdW5kaW5nPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzMyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzMyIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvZGlzYXN0ZXItcHJlcGFyZWRuZXNzLyI+RGlzYXN0ZXIgUHJlcGFyZWRuZXNzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzMzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzMzIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvZWNvbm9taWMtZGV2ZWxvcG1lbnQvIj5FY29ub21pYyBEZXZlbG9wbWVudDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjczNCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjczNCI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L2V2ZW50cy8iPkV2ZW50czwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjczNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjczNSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L2ZpbmFuY2UvIj5GaW5hbmNlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzM2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzM2Ij48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvZ292ZXJubWVudC1jb250cmFjdGluZy8iPkdvdmVybm1lbnQgQ29udHJhY3Rpbmc8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3MzciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3MzciPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9ncm93aW5nLXlvdXItYnVzaW5lc3MvIj5Hcm93aW5nIFlvdXIgQnVzaW5lc3M8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3MzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3MzgiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9oZWFsdGgtY2FyZS8iPkhlYWx0aGNhcmU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3MzkiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3MzkiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9odW1hbi1yZXNvdXJjZXMvIj5IdW1hbiBSZXNvdXJjZXM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3NDAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3NDAiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9pbnRlcm5hdGlvbmFsLXRyYWRlLyI+SW50ZXJuYXRpb25hbCBUcmFkZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjc0MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjc0MSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L21hcmtldGluZy1hbmQtc2FsZXMvIj5NYXJrZXRpbmc8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3NDIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3NDIiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS9wcmVzcy1yZWxlYXNlcy8iPlByZXNzIFJlbGVhc2VzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzQzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzQzIj48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvcmFkaW8tcG9kY2FzdC8iPlJhZGlvIGFuZCBQb2RjYXN0PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzQ0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzQ0Ij48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvc2JkYy1uZXdzLyI+U0JEQyBOZXdzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTEyNzQ1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXRheG9ub215IG1lbnUtaXRlbS1vYmplY3QtY2F0ZWdvcnkgbWVudS1pdGVtLTEyNzQ1Ij48YSBocmVmPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vY2F0ZWdvcnkvc3RhcnRpbmctYS1idXNpbmVzcy0yLyI+U3RhcnRpbmcgYSBCdXNpbmVzczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjc0NiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjc0NiI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L3N1Y2Nlc3Mtc3Rvcmllcy8iPlN1Y2Nlc3MgU3RvcmllczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjc0NyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjc0NyI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L3Rlc3RpbW9uaWFscy8iPlN1Y2Nlc3MgU3RvcmllcyBWaWRlb3M8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3NDgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3NDgiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS92ZXRlcmFuLyI+VmV0ZXJhbjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xMjc0OSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS10YXhvbm9teSBtZW51LWl0ZW0tb2JqZWN0LWNhdGVnb3J5IG1lbnUtaXRlbS0xMjc0OSI+PGEgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2NhdGVnb3J5L3dlYi1hbmQtc29jaWFsLW1lZGlhLyI+V2ViIGFuZCBTb2NpYWwgTWVkaWE8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTI3NTAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtdGF4b25vbXkgbWVudS1pdGVtLW9iamVjdC1jYXRlZ29yeSBtZW51LWl0ZW0tMTI3NTAiPjxhIGhyZWY9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS9jYXRlZ29yeS93b21lbi1vd25lZC1idXNpbmVzcy1jb250cmFjdGluZy8iPldvbWVuIE93bmVkIEJ1c2luZXNzPC9hPjwvbGk+CjwvdWw+PC9kaXY+PC9kaXY+CgkJCQkJCgkJPC9kaXY+PCEtLSAjc2lkZWJhcl9pbm5lciAtLT4KCTxzcGFuIGNsYXNzPSJzaWRlYmFyX2JvdHRvbSI+PC9zcGFuPgo8L2Rpdj48IS0tICNzaWRlYmFyIC0tPjxkaXYgY2xhc3M9ImNsZWFyYm90aCI+PC9kaXY+CgoJPC9kaXY+PCEtLSAjY29udGVudF9pbm5lciAtLT4KPC9kaXY+PCEtLSAjY29udGVudCAtLT4KCjxkaXYgaWQ9ImZvb3RlciI+Cgk8ZGl2IGNsYXNzPSJtdWx0aWJnIj4KCQk8ZGl2IGNsYXNzPSJtdWx0aWJnIj48L2Rpdj4KCTwvZGl2PgoJPGRpdiBpZD0iZm9vdGVyX2lubmVyIj4KCQk8ZGl2IGNsYXNzPSJvbmVfaGFsZiI+PGRpdiBpZD0idGV4dC0zOCIgY2xhc3M9IndpZGdldCB3aWRnZXRfdGV4dCI+CQkJPGRpdiBjbGFzcz0idGV4dHdpZGdldCI+PHA+PGEgaHJlZj0iaHR0cHM6Ly9hbWVyaWNhc3NiZGMub3JnLyI+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyBhbGlnbnJpZ2h0IGpldHBhY2stbGF6eS1pbWFnZSIgYWx0PSJTbWFsbCBCdXNpbmVzcyBEZXZlbG9wbWVudCBDZW50ZXIiIHNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE0LzA2L3NlYWwucG5nIiBoc3BhY2U9IjciIGRhdGEtbGF6eS1zcmM9Ii93cC1jb250ZW50L3VwbG9hZHMvMjAxNC8wNi9zZWFsLnBuZz9pcy1wZW5kaW5nLWxvYWQ9MSIgc3Jjc2V0PSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciPjxub3NjcmlwdD48aW1nIGNsYXNzPSJob3Zlcl9mYWRlX2pzIGFsaWducmlnaHQiIGFsdD0iU21hbGwgQnVzaW5lc3MgRGV2ZWxvcG1lbnQgQ2VudGVyIiBzcmM9Ii93cC1jb250ZW50L3VwbG9hZHMvMjAxNC8wNi9zZWFsLnBuZyIgaHNwYWNlPSI3IiA+PC9ub3NjcmlwdD48L2E+VGhlIEZsb3JpZGEgU0JEQyBhdCB0aGUgVW5pdmVyc2l0eSBvZiBTb3V0aCBGbG9yaWRhIGlzIGEgbWVtYmVyIG9mIHRoZSBGbG9yaWRhIFNCREMgTmV0d29yaywgYSBzdGF0ZXdpZGUgcGFydG5lcnNoaXAgcHJvZ3JhbSBuYXRpb25hbGx5IGFjY3JlZGl0ZWQgYnkgdGhlIEFzc29jaWF0aW9uIG9mIEFtZXJpY2HigJlzIFNCRENzIGFuZCBmdW5kZWQgaW4gcGFydCBieSB0aGUgVS5TLiBTbWFsbCBCdXNpbmVzcyBBZG1pbmlzdHJhdGlvbiwgRGVmZW5zZSBMb2dpc3RpY3MgQWdlbmN5LCBTdGF0ZSBvZiBGbG9yaWRhLCBhbmQgb3RoZXIgcHJpdmF0ZSBhbmQgcHVibGljIHBhcnRuZXJzLCB3aXRoIHRoZSBVbml2ZXJzaXR5IG9mIFdlc3QgRmxvcmlkYSBzZXJ2aW5nIGFzIHRoZSBuZXR3b3JrJ3MgbGVhZCBob3N0IGluc3RpdHV0aW9uLiBGbG9yaWRhIFNCREMgc2VydmljZXMgYXJlIGV4dGVuZGVkIHRvIHRoZSBwdWJsaWMgb24gYSBub25kaXNjcmltaW5hdG9yeSBiYXNpcy4gTGFuZ3VhZ2UgYXNzaXN0YW5jZSBzZXJ2aWNlcyBhcmUgYXZhaWxhYmxlIGZvciBsaW1pdGVkIEVuZ2xpc2ggcHJvZmljaWVudCBpbmRpdmlkdWFscy48YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5zYmEuZ292LyI+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyBqZXRwYWNrLWxhenktaW1hZ2UiIGFsdD0iU21hbGwgQnVzaW5lc3MgQWRtaW5pc3RyYXRpb24iIHNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA2L3NiYS5qcGciIGhzcGFjZT0iNyIgdnNwYWNlPSIxMCIgZGF0YS1sYXp5LXNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA2L3NiYS5qcGc/aXMtcGVuZGluZy1sb2FkPTEiIHNyY3NldD0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Ij48bm9zY3JpcHQ+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyIgYWx0PSJTbWFsbCBCdXNpbmVzcyBBZG1pbmlzdHJhdGlvbiIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDYvc2JhLmpwZyIgaHNwYWNlPSI3IiB2c3BhY2U9IjEwIj48L25vc2NyaXB0PjwvYT48L3A+CjwvZGl2PgoJCTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9uZV9mb3VydGgiPjxkaXYgaWQ9InRleHQtMjIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X3RleHQiPjxoNCBjbGFzcz0id2lkZ2V0dGl0bGUiPkNvbnRhY3QgVXM8L2g0PgkJCTxkaXYgY2xhc3M9InRleHR3aWRnZXQiPjxkaXYgaWQ9ImNvbnRhY3QtMiIgY2xhc3M9IndpZGdldCBteXNpdGVfY29udGFjdF93aWRnZXQiPgo8c3BhbiBjbGFzcz0iY29udGFjdF93aWRnZXRfbmFtZSI+UG9ydCBBdXRob3JpdHkgQnVpbGRpbmc8L3NwYW4+PGJyIC8+CjxzcGFuIGNsYXNzPSJjb250YWN0X3dpZGdldF9hZGRyZXNzIj4xMTAxIENoYW5uZWxzaWRlIERyaXZlPGJyIC8+U3VpdGUgMjEwPC9zcGFuPjxiciAvPgo8c3BhbiBjbGFzcz0iY29udGFjdF93aWRnZXRfY2l0eSI+VGFtcGEsIEZMICAzMzYwMjwvc3Bhbj48YnIgLz4KPHNwYW4gY2xhc3M9ImNvbnRhY3Rfd2lkZ2V0X3Bob25lIj48YSBocmVmPSJ0ZWw6KzE4MTMtOTA1LTU4MDAiPjgxMy05MDUtNTgwMDwvYT48L3NwYW4+PGJyIC8+CjxhIGhyZWY9Ii9sb2NhdGlvbnMvIiBjbGFzcz0iZW1haWxfbGluayBzaWx2ZXJfc3ByaXRlIHNpbHZlcl90ZXh0Ij5Db250YWN0IFVzPC9hPgo8L2Rpdj4KPC9kaXY+CgkJPC9kaXY+PGRpdiBpZD0idGV4dC00MyIgY2xhc3M9IndpZGdldCB3aWRnZXRfdGV4dCI+CQkJPGRpdiBjbGFzcz0idGV4dHdpZGdldCI+PCEtLSBCRUdJTjogQ29uc3RhbnQgQ29udGFjdCBFbWFpbCBMaXN0IEZvcm0gQnV0dG9uIC0tPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHBzOi8vdmlzaXRvci5yMjAuY29uc3RhbnRjb250YWN0LmNvbS9kLmpzcD9sbHI9c2R1NzZ1Y2FiJmFtcDtwPW9pJmFtcDttPTExMDIzNjE1NDY4NjYmYW1wO3NpdD1ndXA3anR5ZGImYW1wO2Y9ODkzYTlmNmUtMDA5Ni00NjBlLTg0YzUtZGMwYzU4ODQ1MDEzIiBjbGFzcz0iYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMiwgMjMyLCAyMzIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2IoOTEsIDkxLCA5MSk7IGNvbG9yOiByZ2IoOTEsIDkxLCA5MSk7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogOHB4IDEwcHg7IHRleHQtc2hhZG93OiBub25lOyBib3JkZXItcmFkaXVzOiAxMHB4OyI+U3Vic2NyaWJlIHRvIE91ciBOZXdzbGV0dGVyPC9hPjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+CgkJPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib25lX2ZvdXJ0aCBsYXN0Ij48ZGl2IGlkPSJ0ZXh0LTIxIiBjbGFzcz0id2lkZ2V0IHdpZGdldF90ZXh0Ij4JCQk8ZGl2IGNsYXNzPSJ0ZXh0d2lkZ2V0Ij48YSBocmVmPSJodHRwOi8vd3d3LnVzZi5lZHUvIj48aW1nIGNsYXNzPSJob3Zlcl9mYWRlX2pzIGpldHBhY2stbGF6eS1pbWFnZSIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvbXVtYS1jb2xsZWdlLW9mLWJ1c2luZXNzLXdoaXRlLWgtQ3VzdG9tLnBuZyIgYWx0PSJVU0YgTXVtYSIgZGF0YS1sYXp5LXNyYz0iL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIwLzAxL211bWEtY29sbGVnZS1vZi1idXNpbmVzcy13aGl0ZS1oLUN1c3RvbS5wbmc/aXMtcGVuZGluZy1sb2FkPTEiIHNyY3NldD0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Ij48bm9zY3JpcHQ+PGltZyBjbGFzcz0iaG92ZXJfZmFkZV9qcyIgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvbXVtYS1jb2xsZWdlLW9mLWJ1c2luZXNzLXdoaXRlLWgtQ3VzdG9tLnBuZyIgYWx0PSJVU0YgTXVtYSI+PC9ub3NjcmlwdD48L2E+DQo8L2Rpdj4KCQk8L2Rpdj48ZGl2IGlkPSJ0ZXh0LTMxIiBjbGFzcz0id2lkZ2V0IHdpZGdldF90ZXh0Ij4JCQk8ZGl2IGNsYXNzPSJ0ZXh0d2lkZ2V0Ij5TdGF0ZSBEZXNpZ25hdGVkIGFzIEZsb3JpZGEncyBQcmluY2lwYWwgUHJvdmlkZXIgb2YgQnVzaW5lc3MgQXNzaXN0YW5jZSBbJnNlY3Q7IDI4OC4wMSwgRmxhLiBTdGF0Ll08L2Rpdj4KCQk8L2Rpdj48ZGl2IGlkPSJ0ZXh0LTMwIiBjbGFzcz0id2lkZ2V0IHdpZGdldF90ZXh0Ij4JCQk8ZGl2IGNsYXNzPSJ0ZXh0d2lkZ2V0Ij48L2Rpdj4KCQk8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmJvdGgiPjwvZGl2PjwvZGl2PjwhLS0gI2Zvb3Rlcl9pbm5lciAtLT4KCTwvZGl2PjwhLS0gI2Zvb3RlciAtLT4KCjxkaXYgaWQ9InN1Yl9mb290ZXIiPjxkaXYgaWQ9InN1Yl9mb290ZXJfaW5uZXIiPjxkaXYgY2xhc3M9ImNvcHlyaWdodF90ZXh0Ij4mY29weTsgIEZsb3JpZGEgU0JEQyBhdCBVU0YgIHwgIDxhIGNsYXNzPSJsZWdhbCIgaHJlZj0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL2xlZ2FsLyI+TGVnYWw8L2E+PGJyPjxicj48YSBjbGFzcz0iZ2luYSIgaHJlZj0iaHR0cDovL2MyY29tbXVuaWNhdGlvbnMubmV0Ij53ZWJzaXRlIGJ5IENhc3RvIENvbW11bmljYXRpb25zPC9hPjwvZGl2PjwvZGl2PjwhLS0gI3N1Yl9mb290ZXJfaW5uZXIgLS0+PC9kaXY+PCEtLSAjc3ViX2Zvb3RlciAtLT48L2Rpdj48IS0tICNib2R5X2lubmVyIC0tPgoKPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3dlYnNpdGUvbGliL3NjcmlwdHMvcHJldHR5cGhvdG8vanMvanF1ZXJ5LnByZXR0eVBob3RvLm1pbi5qcz92ZXI9Mi44LjYnIGlkPSdteXNpdGVfcHJldHR5cGhvdG8tanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC90aGVtZXMvd2Vic2l0ZS9saWIvc2NyaXB0cy9mbGV4c2xpZGVyL2pxdWVyeS5mbGV4c2xpZGVyLW1pbi5qcz92ZXI9Mi44LjYnIGlkPSdteXNpdGVfZmxleHNsaWRlci1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1pbmNsdWRlcy9qcy9kaXN0L3ZlbmRvci93cC1wb2x5ZmlsbC5taW4uanM/dmVyPTcuNC40JyBpZD0nd3AtcG9seWZpbGwtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J3dwLXBvbHlmaWxsLWpzLWFmdGVyJz4KKCAnZmV0Y2gnIGluIHdpbmRvdyApIHx8IGRvY3VtZW50LndyaXRlKCAnPHNjcmlwdCBzcmM9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1pbmNsdWRlcy9qcy9kaXN0L3ZlbmRvci93cC1wb2x5ZmlsbC1mZXRjaC5taW4uanM/dmVyPTMuMC4wIj48L3NjcicgKyAnaXB0PicgKTsoIGRvY3VtZW50LmNvbnRhaW5zICkgfHwgZG9jdW1lbnQud3JpdGUoICc8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWluY2x1ZGVzL2pzL2Rpc3QvdmVuZG9yL3dwLXBvbHlmaWxsLW5vZGUtY29udGFpbnMubWluLmpzP3Zlcj0zLjQyLjAiPjwvc2NyJyArICdpcHQ+JyApOyggd2luZG93LkRPTVJlY3QgKSB8fCBkb2N1bWVudC53cml0ZSggJzxzY3JpcHQgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtaW5jbHVkZXMvanMvZGlzdC92ZW5kb3Ivd3AtcG9seWZpbGwtZG9tLXJlY3QubWluLmpzP3Zlcj0zLjQyLjAiPjwvc2NyJyArICdpcHQ+JyApOyggd2luZG93LlVSTCAmJiB3aW5kb3cuVVJMLnByb3RvdHlwZSAmJiB3aW5kb3cuVVJMU2VhcmNoUGFyYW1zICkgfHwgZG9jdW1lbnQud3JpdGUoICc8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWluY2x1ZGVzL2pzL2Rpc3QvdmVuZG9yL3dwLXBvbHlmaWxsLXVybC5taW4uanM/dmVyPTMuNi40Ij48L3NjcicgKyAnaXB0PicgKTsoIHdpbmRvdy5Gb3JtRGF0YSAmJiB3aW5kb3cuRm9ybURhdGEucHJvdG90eXBlLmtleXMgKSB8fCBkb2N1bWVudC53cml0ZSggJzxzY3JpcHQgc3JjPSJodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtaW5jbHVkZXMvanMvZGlzdC92ZW5kb3Ivd3AtcG9seWZpbGwtZm9ybWRhdGEubWluLmpzP3Zlcj0zLjAuMTIiPjwvc2NyJyArICdpcHQ+JyApOyggRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcyAmJiBFbGVtZW50LnByb3RvdHlwZS5jbG9zZXN0ICkgfHwgZG9jdW1lbnQud3JpdGUoICc8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWluY2x1ZGVzL2pzL2Rpc3QvdmVuZG9yL3dwLXBvbHlmaWxsLWVsZW1lbnQtY2xvc2VzdC5taW4uanM/dmVyPTIuMC4yIj48L3NjcicgKyAnaXB0PicgKTsoICdvYmplY3RGaXQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSApIHx8IGRvY3VtZW50LndyaXRlKCAnPHNjcmlwdCBzcmM9Imh0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1pbmNsdWRlcy9qcy9kaXN0L3ZlbmRvci93cC1wb2x5ZmlsbC1vYmplY3QtZml0Lm1pbi5qcz92ZXI9Mi4zLjQiPjwvc2NyJyArICdpcHQ+JyApOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdjb250YWN0LWZvcm0tNy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjcgPSB7ImFwaSI6eyJyb290IjoiaHR0cHM6XC9cL3NiZGN0YW1wYWJheS5jb21cL3dwLWpzb25cLyIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJjYWNoZWQiOiIxIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9pbmRleC5qcz92ZXI9NS40LjEnIGlkPSdjb250YWN0LWZvcm0tNy1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBpZD0nd3BjZjctcmVkaXJlY3Qtc2NyaXB0LWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciB3cGNmN3IgPSB7ImFqYXhfdXJsIjoiaHR0cHM6XC9cL3NiZGN0YW1wYWJheS5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvd3BjZjctcmVkaXJlY3QvYnVpbGQvanMvd3BjZjctcmVkaXJlY3QtZnJvbnRlbmQtc2NyaXB0LmpzP3Zlcj0xLjEnIGlkPSd3cGNmNy1yZWRpcmVjdC1zY3JpcHQtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J3JvY2tldC1icm93c2VyLWNoZWNrZXItanMtYWZ0ZXInPgoidXNlIHN0cmljdCI7dmFyIF9jcmVhdGVDbGFzcz1mdW5jdGlvbigpe2Z1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LHByb3BzKXtmb3IodmFyIGk9MDtpPHByb3BzLmxlbmd0aDtpKyspe3ZhciBkZXNjcmlwdG9yPXByb3BzW2ldO2Rlc2NyaXB0b3IuZW51bWVyYWJsZT1kZXNjcmlwdG9yLmVudW1lcmFibGV8fCExLGRlc2NyaXB0b3IuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBkZXNjcmlwdG9yJiYoZGVzY3JpcHRvci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCxkZXNjcmlwdG9yLmtleSxkZXNjcmlwdG9yKX19cmV0dXJuIGZ1bmN0aW9uKENvbnN0cnVjdG9yLHByb3RvUHJvcHMsc3RhdGljUHJvcHMpe3JldHVybiBwcm90b1Byb3BzJiZkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSxwcm90b1Byb3BzKSxzdGF0aWNQcm9wcyYmZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3RvcixzdGF0aWNQcm9wcyksQ29uc3RydWN0b3J9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSxDb25zdHJ1Y3Rvcil7aWYoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX12YXIgUm9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUm9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyKG9wdGlvbnMpe19jbGFzc0NhbGxDaGVjayh0aGlzLFJvY2tldEJyb3dzZXJDb21wYXRpYmlsaXR5Q2hlY2tlciksdGhpcy5wYXNzaXZlU3VwcG9ydGVkPSExLHRoaXMuX2NoZWNrUGFzc2l2ZU9wdGlvbih0aGlzKSx0aGlzLm9wdGlvbnM9ISF0aGlzLnBhc3NpdmVTdXBwb3J0ZWQmJm9wdGlvbnN9cmV0dXJuIF9jcmVhdGVDbGFzcyhSb2NrZXRCcm93c2VyQ29tcGF0aWJpbGl0eUNoZWNrZXIsW3trZXk6Il9jaGVja1Bhc3NpdmVPcHRpb24iLHZhbHVlOmZ1bmN0aW9uKHNlbGYpe3RyeXt2YXIgb3B0aW9ucz17Z2V0IHBhc3NpdmUoKXtyZXR1cm4hKHNlbGYucGFzc2l2ZVN1cHBvcnRlZD0hMCl9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxvcHRpb25zKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxvcHRpb25zKX1jYXRjaChlcnIpe3NlbGYucGFzc2l2ZVN1cHBvcnRlZD0hMX19fSx7a2V5OiJpbml0UmVxdWVzdElkbGVDYWxsYmFjayIsdmFsdWU6ZnVuY3Rpb24oKXshMSBpbiB3aW5kb3cmJih3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz1mdW5jdGlvbihjYil7dmFyIHN0YXJ0PURhdGUubm93KCk7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjYih7ZGlkVGltZW91dDohMSx0aW1lUmVtYWluaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWF4KDAsNTAtKERhdGUubm93KCktc3RhcnQpKX19KX0sMSl9KSwhMSBpbiB3aW5kb3cmJih3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrPWZ1bmN0aW9uKGlkKXtyZXR1cm4gY2xlYXJUaW1lb3V0KGlkKX0pfX0se2tleToiaXNEYXRhU2F2ZXJNb2RlT24iLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuImNvbm5lY3Rpb24iaW4gbmF2aWdhdG9yJiYhMD09PW5hdmlnYXRvci5jb25uZWN0aW9uLnNhdmVEYXRhfX0se2tleToic3VwcG9ydHNMaW5rUHJlZmV0Y2giLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGVsZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3JldHVybiBlbGVtLnJlbExpc3QmJmVsZW0ucmVsTGlzdC5zdXBwb3J0cyYmZWxlbS5yZWxMaXN0LnN1cHBvcnRzKCJwcmVmZXRjaCIpJiZ3aW5kb3cuSW50ZXJzZWN0aW9uT2JzZXJ2ZXImJiJpc0ludGVyc2VjdGluZyJpbiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LnByb3RvdHlwZX19LHtrZXk6ImlzU2xvd0Nvbm5lY3Rpb24iLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuImNvbm5lY3Rpb24iaW4gbmF2aWdhdG9yJiYiZWZmZWN0aXZlVHlwZSJpbiBuYXZpZ2F0b3IuY29ubmVjdGlvbiYmKCIyZyI9PT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlfHwic2xvdy0yZyI9PT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlKX19XSksUm9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyfSgpOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdyb2NrZXQtZGVsYXktanMtanMtYWZ0ZXInPgooZnVuY3Rpb24oKSB7CiJ1c2Ugc3RyaWN0Ijt2YXIgZT1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oZSx0KXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1yZXR1cm4gZnVuY3Rpb24oZSx0LHIpe3JldHVybiB0JiZuKGUucHJvdG90eXBlLHQpLHImJm4oZSxyKSxlfX0oKTtmdW5jdGlvbiBuKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9dmFyIHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7bih0aGlzLHIpLHRoaXMuYXR0ck5hbWU9ImRhdGEtcm9ja2V0bGF6eWxvYWRzY3JpcHQiLHRoaXMuYnJvd3Nlcj10LHRoaXMub3B0aW9ucz10aGlzLmJyb3dzZXIub3B0aW9ucyx0aGlzLnRyaWdnZXJFdmVudHM9ZSx0aGlzLnVzZXJFdmVudExpc3RlbmVyPXRoaXMudHJpZ2dlckxpc3RlbmVyLmJpbmQodGhpcyl9cmV0dXJuIGUocixbe2tleToiaW5pdCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9hZGRFdmVudExpc3RlbmVyKHRoaXMpfX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzKX19LHtrZXk6Il9hZGRFdmVudExpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnRyaWdnZXJFdmVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSx0LnVzZXJFdmVudExpc3RlbmVyLHQub3B0aW9ucyl9KX19LHtrZXk6Il9yZW1vdmVFdmVudExpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnRyaWdnZXJFdmVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LnVzZXJFdmVudExpc3RlbmVyLHQub3B0aW9ucyl9KX19LHtrZXk6Il9sb2FkU2NyaXB0U3JjIix2YWx1ZTpmdW5jdGlvbigpe3ZhciByPXRoaXMsZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHRbIit0aGlzLmF0dHJOYW1lKyJdIik7MCE9PWUubGVuZ3RoJiZBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKHIuYXR0ck5hbWUpO2Uuc2V0QXR0cmlidXRlKCJzcmMiLHQpLGUucmVtb3ZlQXR0cmlidXRlKHIuYXR0ck5hbWUpfSksdGhpcy5yZXNldCgpfX0se2tleToidHJpZ2dlckxpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2xvYWRTY3JpcHRTcmMoKSx0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMpfX1dLFt7a2V5OiJydW4iLHZhbHVlOmZ1bmN0aW9uKCl7Um9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyJiZuZXcgcihbImtleWRvd24iLCJtb3VzZW92ZXIiLCJ0b3VjaG1vdmUiLCJ0b3VjaHN0YXJ0Iiwid2hlZWwiXSxuZXcgUm9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyKHtwYXNzaXZlOiEwfSkpLmluaXQoKX19XSkscn0oKTt0LnJ1bigpOwp9KCkpOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdyb2NrZXQtcHJlbG9hZC1saW5rcy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgUm9ja2V0UHJlbG9hZExpbmtzQ29uZmlnID0geyJleGNsdWRlVXJpcyI6IlwvdHJhaW5pbmctY2FsZW5kYXJcL3xcL3N0dWRlbnQtdGVhbXNcL3xcL3NjaGVkdWxlLWNvbnN1bHRhbnRcL3xcL3RyYWluaW5nLWNhbGVuZGFyXC9oZXJuYW5kby1jb3VudHktdHJhaW5pbmdcL3xcL3RyYWluaW5nLWNhbGVuZGFyXC9oaWxsc2Jvcm91Z2gtY291bnR5LXRyYWluaW5nXC98XC90cmFpbmluZy1jYWxlbmRhcl9fdHJhc2hlZFwvaGlsbHNib3JvdWdoLWNvdW50eS10cmFpbmluZ1wvfFwvYmlkLW9wcG9ydHVuaXRpZXNcL3xcLzIwMjAtYmVkYy1wcmVzZW50YXRpb25zXC98XC9iZWRjLWNvdXJzZS1wcmVzZW50YXRpb25zLTIwMTlcL3xcL3JmcC1jb25zdHJ1Y3Rpb24tbWFuYWdlbWVudC1zZXJ2aWNlcy1yYWRpYXRpb24tb25jb2xvZ3ktaW1hZ2luZy1jZW50ZXJcL3xcLyguK1wvKT9mZWVkXC8/LitcLz98XC8oPzouK1wvKT9lbWJlZFwvfFwvKGluZGV4XFwucGhwXC8pP3dwXFwtanNvbihcLy4qfCQpfFwvd3AtYWRtaW5cL3xcL2xvZ291dFwvfFwvd3AtbG9naW4ucGhwIiwidXNlc1RyYWlsaW5nU2xhc2giOiIxIiwiaW1hZ2VFeHQiOiJqcGd8anBlZ3xnaWZ8cG5nfHRpZmZ8Ym1wfHdlYnB8YXZpZiIsImZpbGVFeHQiOiJqcGd8anBlZ3xnaWZ8cG5nfHRpZmZ8Ym1wfHdlYnB8YXZpZnxwaHB8cGRmfGh0bWx8aHRtIiwic2l0ZVVybCI6Imh0dHBzOlwvXC9zYmRjdGFtcGFiYXkuY29tIiwib25Ib3ZlckRlbGF5IjoiMTAwIiwicmF0ZVRocm90dGxlIjoiMyJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBpZD0ncm9ja2V0LXByZWxvYWQtbGlua3MtanMtYWZ0ZXInPgooZnVuY3Rpb24oKSB7CiJ1c2Ugc3RyaWN0Ijt2YXIgcj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGkoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGkua2V5LGkpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZpKGUucHJvdG90eXBlLHQpLG4mJmkoZSxuKSxlfX0oKTtmdW5jdGlvbiBpKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9dmFyIHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCl7aSh0aGlzLG4pLHRoaXMuYnJvd3Nlcj1lLHRoaXMuY29uZmlnPXQsdGhpcy5vcHRpb25zPXRoaXMuYnJvd3Nlci5vcHRpb25zLHRoaXMucHJlZmV0Y2hlZD1uZXcgU2V0LHRoaXMuZXZlbnRUaW1lPW51bGwsdGhpcy50aHJlc2hvbGQ9MTExMSx0aGlzLm51bU9uSG92ZXI9MH1yZXR1cm4gZShuLFt7a2V5OiJpbml0Iix2YWx1ZTpmdW5jdGlvbigpeyF0aGlzLmJyb3dzZXIuc3VwcG9ydHNMaW5rUHJlZmV0Y2goKXx8dGhpcy5icm93c2VyLmlzRGF0YVNhdmVyTW9kZU9uKCl8fHRoaXMuYnJvd3Nlci5pc1Nsb3dDb25uZWN0aW9uKCl8fCh0aGlzLnJlZ2V4PXtleGNsdWRlVXJpczpSZWdFeHAodGhpcy5jb25maWcuZXhjbHVkZVVyaXMsImkiKSxpbWFnZXM6UmVnRXhwKCIuKCIrdGhpcy5jb25maWcuaW1hZ2VFeHQrIikkIiwiaSIpLGZpbGVFeHQ6UmVnRXhwKCIuKCIrdGhpcy5jb25maWcuZmlsZUV4dCsiKSQiLCJpIil9LHRoaXMuX2luaXRMaXN0ZW5lcnModGhpcykpfX0se2tleToiX2luaXRMaXN0ZW5lcnMiLHZhbHVlOmZ1bmN0aW9uKGUpey0xPHRoaXMuY29uZmlnLm9uSG92ZXJEZWxheSYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIixlLmxpc3RlbmVyLmJpbmQoZSksZS5saXN0ZW5lck9wdGlvbnMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZS5saXN0ZW5lci5iaW5kKGUpLGUubGlzdGVuZXJPcHRpb25zKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixlLmxpc3RlbmVyLmJpbmQoZSksZS5saXN0ZW5lck9wdGlvbnMpfX0se2tleToibGlzdGVuZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LmNsb3Nlc3QoImEiKSxuPXRoaXMuX3ByZXBhcmVVcmwodCk7aWYobnVsbCE9PW4pc3dpdGNoKGUudHlwZSl7Y2FzZSJtb3VzZWRvd24iOmNhc2UidG91Y2hzdGFydCI6dGhpcy5fYWRkUHJlZmV0Y2hMaW5rKG4pO2JyZWFrO2Nhc2UibW91c2VvdmVyIjp0aGlzLl9lYXJseVByZWZldGNoKHQsbiwibW91c2VvdXQiKX19fSx7a2V5OiJfZWFybHlQcmVmZXRjaCIsdmFsdWU6ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMscj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYocj1udWxsLDA9PT1pLm51bU9uSG92ZXIpc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBpLm51bU9uSG92ZXI9MH0sMWUzKTtlbHNlIGlmKGkubnVtT25Ib3Zlcj5pLmNvbmZpZy5yYXRlVGhyb3R0bGUpcmV0dXJuO2kubnVtT25Ib3ZlcisrLGkuX2FkZFByZWZldGNoTGluayhlKX0sdGhpcy5jb25maWcub25Ib3ZlckRlbGF5KTt0LmFkZEV2ZW50TGlzdGVuZXIobixmdW5jdGlvbiBlKCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKG4sZSx7cGFzc2l2ZTohMH0pLG51bGwhPT1yJiYoY2xlYXJUaW1lb3V0KHIpLHI9bnVsbCl9LHtwYXNzaXZlOiEwfSl9fSx7a2V5OiJfYWRkUHJlZmV0Y2hMaW5rIix2YWx1ZTpmdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5wcmVmZXRjaGVkLmFkZChpLmhyZWYpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO24ucmVsPSJwcmVmZXRjaCIsbi5ocmVmPWkuaHJlZixuLm9ubG9hZD1lLG4ub25lcnJvcj10LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobil9KS5jYXRjaChmdW5jdGlvbigpe30pfX0se2tleToiX3ByZXBhcmVVcmwiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKG51bGw9PT1lfHwib2JqZWN0IiE9PSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOnIoZSkpfHwhMSBpbiBlfHwtMT09PVsiaHR0cDoiLCJodHRwczoiXS5pbmRleE9mKGUucHJvdG9jb2wpKXJldHVybiBudWxsO3ZhciB0PWUuaHJlZi5zdWJzdHJpbmcoMCx0aGlzLmNvbmZpZy5zaXRlVXJsLmxlbmd0aCksbj10aGlzLl9nZXRQYXRobmFtZShlLmhyZWYsdCksaT17b3JpZ2luYWw6ZS5ocmVmLHByb3RvY29sOmUucHJvdG9jb2wsb3JpZ2luOnQscGF0aG5hbWU6bixocmVmOnQrbn07cmV0dXJuIHRoaXMuX2lzTGlua09rKGkpP2k6bnVsbH19LHtrZXk6Il9nZXRQYXRobmFtZSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10P2Uuc3Vic3RyaW5nKHRoaXMuY29uZmlnLnNpdGVVcmwubGVuZ3RoKTplO3JldHVybiBuLnN0YXJ0c1dpdGgoIi8iKXx8KG49Ii8iK24pLHRoaXMuX3Nob3VsZEFkZFRyYWlsaW5nU2xhc2gobik/bisiLyI6bn19LHtrZXk6Il9zaG91bGRBZGRUcmFpbGluZ1NsYXNoIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb25maWcudXNlc1RyYWlsaW5nU2xhc2gmJiFlLmVuZHNXaXRoKCIvIikmJiF0aGlzLnJlZ2V4LmZpbGVFeHQudGVzdChlKX19LHtrZXk6Il9pc0xpbmtPayIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09PSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOnIoZSkpJiYoIXRoaXMucHJlZmV0Y2hlZC5oYXMoZS5ocmVmKSYmZS5vcmlnaW49PT10aGlzLmNvbmZpZy5zaXRlVXJsJiYtMT09PWUuaHJlZi5pbmRleE9mKCI/IikmJi0xPT09ZS5ocmVmLmluZGV4T2YoIiMiKSYmIXRoaXMucmVnZXguZXhjbHVkZVVyaXMudGVzdChlLmhyZWYpJiYhdGhpcy5yZWdleC5pbWFnZXMudGVzdChlLmhyZWYpKX19XSxbe2tleToicnVuIix2YWx1ZTpmdW5jdGlvbigpeyJ1bmRlZmluZWQiIT10eXBlb2YgUm9ja2V0UHJlbG9hZExpbmtzQ29uZmlnJiZuZXcgbihuZXcgUm9ja2V0QnJvd3NlckNvbXBhdGliaWxpdHlDaGVja2VyKHtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9KSxSb2NrZXRQcmVsb2FkTGlua3NDb25maWcpLmluaXQoKX19XSksbn0oKTt0LnJ1bigpOwp9KCkpOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9wYWdlLWxpbmtzLXRvL2Rpc3QvbmV3LXRhYi5qcz92ZXI9My4zLjUnIGlkPSdwYWdlLWxpbmtzLXRvLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lYXN5LWZhbmN5Ym94L2pzL2pxdWVyeS5mYW5jeWJveC5taW4uanM/dmVyPTEuMy4yNCcgaWQ9J2pxdWVyeS1mYW5jeWJveC1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBpZD0nanF1ZXJ5LWZhbmN5Ym94LWpzLWFmdGVyJz4KdmFyIGZiX3RpbWVvdXQsIGZiX29wdHM9eydvdmVybGF5U2hvdyc6dHJ1ZSwnaGlkZU9uT3ZlcmxheUNsaWNrJzp0cnVlLCdzaG93Q2xvc2VCdXR0b24nOnRydWUsJ21hcmdpbic6MjAsJ2NlbnRlck9uU2Nyb2xsJzp0cnVlLCdlbmFibGVFc2NhcGVCdXR0b24nOnRydWUsJ2F1dG9TY2FsZSc6dHJ1ZSB9OwppZih0eXBlb2YgZWFzeV9mYW5jeWJveF9oYW5kbGVyPT09J3VuZGVmaW5lZCcpewp2YXIgZWFzeV9mYW5jeWJveF9oYW5kbGVyPWZ1bmN0aW9uKCl7CmpRdWVyeSgnLm5vZmFuY3lib3gsYS53cC1ibG9jay1maWxlX19idXR0b24sYS5waW4taXQtYnV0dG9uLGFbaHJlZio9InBpbnRlcmVzdC5jb20vcGluL2NyZWF0ZSJdLGFbaHJlZio9ImZhY2Vib29rLmNvbS9zaGFyZSJdLGFbaHJlZio9InR3aXR0ZXIuY29tL3NoYXJlIl0nKS5hZGRDbGFzcygnbm9saWdodGJveCcpOwovKiBJTUcgKi8KdmFyIGZiX0lNR19zZWxlY3Q9J2FbaHJlZio9Ii5qcGciXTpub3QoLm5vbGlnaHRib3gsbGkubm9saWdodGJveD5hKSxhcmVhW2hyZWYqPSIuanBnIl06bm90KC5ub2xpZ2h0Ym94KSxhW2hyZWYqPSIuanBlZyJdOm5vdCgubm9saWdodGJveCxsaS5ub2xpZ2h0Ym94PmEpLGFyZWFbaHJlZio9Ii5qcGVnIl06bm90KC5ub2xpZ2h0Ym94KSxhW2hyZWYqPSIucG5nIl06bm90KC5ub2xpZ2h0Ym94LGxpLm5vbGlnaHRib3g+YSksYXJlYVtocmVmKj0iLnBuZyJdOm5vdCgubm9saWdodGJveCknOwpqUXVlcnkoZmJfSU1HX3NlbGVjdCkuYWRkQ2xhc3MoJ2ZhbmN5Ym94IGltYWdlJyk7CnZhciBmYl9JTUdfc2VjdGlvbnM9alF1ZXJ5KCcuZ2FsbGVyeSwud3AtYmxvY2stZ2FsbGVyeSwudGlsZWQtZ2FsbGVyeSwud3AtYmxvY2stamV0cGFjay10aWxlZC1nYWxsZXJ5Jyk7CmZiX0lNR19zZWN0aW9ucy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoZmJfSU1HX3NlbGVjdCkuYXR0cigncmVsJywnZ2FsbGVyeS0nK2ZiX0lNR19zZWN0aW9ucy5pbmRleCh0aGlzKSk7fSk7CmpRdWVyeSgnYS5mYW5jeWJveCxhcmVhLmZhbmN5Ym94LGxpLmZhbmN5Ym94IGEnKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZhbmN5Ym94KGpRdWVyeS5leHRlbmQoe30sZmJfb3B0cyx7J3R5cGUnOidpbWFnZScsJ3RyYW5zaXRpb25Jbic6J2VsYXN0aWMnLCdlYXNpbmdJbic6J2Vhc2VPdXRCYWNrJywndHJhbnNpdGlvbk91dCc6J2VsYXN0aWMnLCdlYXNpbmdPdXQnOidlYXNlSW5CYWNrJywnb3BhY2l0eSc6ZmFsc2UsJ2hpZGVPbkNvbnRlbnRDbGljayc6ZmFsc2UsJ3RpdGxlU2hvdyc6dHJ1ZSwndGl0bGVQb3NpdGlvbic6J292ZXInLCd0aXRsZUZyb21BbHQnOnRydWUsJ3Nob3dOYXZBcnJvd3MnOnRydWUsJ2VuYWJsZUtleWJvYXJkTmF2Jzp0cnVlLCdjeWNsaWMnOmZhbHNlfSkpfSk7Ci8qIElubGluZSAqLwpqUXVlcnkoJ2EuZmFuY3lib3gtaW5saW5lLGFyZWEuZmFuY3lib3gtaW5saW5lLGxpLmZhbmN5Ym94LWlubGluZSBhJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5mYW5jeWJveChqUXVlcnkuZXh0ZW5kKHt9LGZiX29wdHMseyd0eXBlJzonaW5saW5lJywnYXV0b0RpbWVuc2lvbnMnOnRydWUsJ3Njcm9sbGluZyc6J25vJywnZWFzaW5nSW4nOidlYXNlT3V0QmFjaycsJ2Vhc2luZ091dCc6J2Vhc2VJbkJhY2snLCdvcGFjaXR5JzpmYWxzZSwnaGlkZU9uQ29udGVudENsaWNrJzpmYWxzZSwndGl0bGVTaG93JzpmYWxzZX0pKX0pOwovKiBZb3VUdWJlICovCmpRdWVyeSgnYVtocmVmKj0ieW91dHUuYmUvIl0sYXJlYVtocmVmKj0ieW91dHUuYmUvIl0sYVtocmVmKj0ieW91dHViZS5jb20vIl0sYXJlYVtocmVmKj0ieW91dHViZS5jb20vIl0nKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ocmVmLm1hdGNoKC9cLyg/OnlvdXR1XC5iZXx3YXRjaFw/fGVtYmVkXC8pLyk7fSkubm90KCcubm9saWdodGJveCxsaS5ub2xpZ2h0Ym94PmEnKS5hZGRDbGFzcygnZmFuY3lib3gteW91dHViZScpOwpqUXVlcnkoJ2EuZmFuY3lib3gteW91dHViZSxhcmVhLmZhbmN5Ym94LXlvdXR1YmUsbGkuZmFuY3lib3gteW91dHViZSBhJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5mYW5jeWJveChqUXVlcnkuZXh0ZW5kKHt9LGZiX29wdHMseyd0eXBlJzonaWZyYW1lJywnd2lkdGgnOjgwMCwnaGVpZ2h0Jzo2MDAsJ2tlZXBSYXRpbyc6MSwndGl0bGVTaG93JzpmYWxzZSwndGl0bGVQb3NpdGlvbic6J2Zsb2F0JywndGl0bGVGcm9tQWx0JzpmYWxzZSwnb25TdGFydCc6ZnVuY3Rpb24oYSxpLG8pe3ZhciBzcGxpdE9uPWFbaV0uaHJlZi5pbmRleE9mKCI/Iik7dmFyIHVybFBhcm1zPShzcGxpdE9uPi0xKT9hW2ldLmhyZWYuc3Vic3RyaW5nKHNwbGl0T24pOiIiO28uYWxsb3dmdWxsc2NyZWVuPSh1cmxQYXJtcy5pbmRleE9mKCJmcz0wIik+LTEpP2ZhbHNlOnRydWU7by5ocmVmPWFbaV0uaHJlZi5yZXBsYWNlKC9odHRwcz86XC9cLyg/Ond3d1wuKT95b3V0dSg/OlwuYmVcLyhbXlw/XSspXD8/fGJlXC5jb21cL3dhdGNoXD8oLiooPz12PSkpdj0oW14mXSspKSguKikvZ2ksImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyQxJDM/JDIkNCZhdXRvcGxheT0xIik7fX0pKX0pO307CmpRdWVyeSgnYS5mYW5jeWJveC1jbG9zZScpLm9uKCdjbGljaycsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2pRdWVyeS5mYW5jeWJveC5jbG9zZSgpfSk7Cn07CnZhciBlYXN5X2ZhbmN5Ym94X2F1dG89ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KCcjZmFuY3lib3gtYXV0bycpLnRyaWdnZXIoJ2NsaWNrJyl9LDEwMDApO307CmpRdWVyeShlYXN5X2ZhbmN5Ym94X2hhbmRsZXIpO2pRdWVyeShkb2N1bWVudCkub24oJ3Bvc3QtbG9hZCcsZWFzeV9mYW5jeWJveF9oYW5kbGVyKTsKalF1ZXJ5KGVhc3lfZmFuY3lib3hfYXV0byk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3NiZGN0YW1wYWJheS5jb20vd3AtY29udGVudC9wbHVnaW5zL2Vhc3ktZmFuY3lib3gvanMvanF1ZXJ5LmVhc2luZy5taW4uanM/dmVyPTEuNC4xJyBpZD0nanF1ZXJ5LWVhc2luZy1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvZWFzeS1mYW5jeWJveC9qcy9qcXVlcnkubW91c2V3aGVlbC5taW4uanM/dmVyPTMuMS4xMycgaWQ9J2pxdWVyeS1tb3VzZXdoZWVsLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9qZXRwYWNrL3ZlbmRvci9hdXRvbWF0dGljL2pldHBhY2stbGF6eS1pbWFnZXMvc3JjL2pzL2ludGVyc2VjdGlvbm9ic2VydmVyLXBvbHlmaWxsLm1pbi5qcz92ZXI9MS4xLjInIGlkPSdqZXRwYWNrLWxhenktaW1hZ2VzLXBvbHlmaWxsLWludGVyc2VjdGlvbm9ic2VydmVyLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdqZXRwYWNrLWxhenktaW1hZ2VzLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBqZXRwYWNrTGF6eUltYWdlc0wxMG4gPSB7ImxvYWRpbmdfd2FybmluZyI6IkltYWdlcyBhcmUgc3RpbGwgbG9hZGluZy4gUGxlYXNlIGNhbmNlbCB5b3VyIHByaW50IGFuZCB0cnkgYWdhaW4uIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zYmRjdGFtcGFiYXkuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9qZXRwYWNrL3ZlbmRvci9hdXRvbWF0dGljL2pldHBhY2stbGF6eS1pbWFnZXMvc3JjL2pzL2xhenktaW1hZ2VzLm1pbi5qcz92ZXI9MS4xLjInIGlkPSdqZXRwYWNrLWxhenktaW1hZ2VzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSd3cGNmN2NmLXNjcmlwdHMtanMtZXh0cmEnPgovKiA8IVtDREFUQVsgKi8KdmFyIHdwY2Y3Y2ZfZ2xvYmFsX3NldHRpbmdzID0geyJhamF4dXJsIjoiaHR0cHM6XC9cL3NiZGN0YW1wYWJheS5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvY2Y3LWNvbmRpdGlvbmFsLWZpZWxkcy9qcy9zY3JpcHRzLmpzP3Zlcj0yLjAuMycgaWQ9J3dwY2Y3Y2Ytc2NyaXB0cy1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcz9yZW5kZXI9NkxlRzhZY1VBQUFBQUxSb2Q1T3IwZTREVGtkYkZlWU1fNzVNemJNaCYjMDM4O3Zlcj0zLjAnIGlkPSdnb29nbGUtcmVjYXB0Y2hhLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSd3cGNmNy1yZWNhcHRjaGEtanMtZXh0cmEnPgovKiA8IVtDREFUQVsgKi8KdmFyIHdwY2Y3X3JlY2FwdGNoYSA9IHsic2l0ZWtleSI6IjZMZUc4WWNVQUFBQUFMUm9kNU9yMGU0RFRrZGJGZVlNXzc1TXpiTWgiLCJhY3Rpb25zIjp7ImhvbWVwYWdlIjoiaG9tZXBhZ2UiLCJjb250YWN0Zm9ybSI6ImNvbnRhY3Rmb3JtIn19OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc2JkY3RhbXBhYmF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvbW9kdWxlcy9yZWNhcHRjaGEvaW5kZXguanM/dmVyPTUuNC4xJyBpZD0nd3BjZjctcmVjYXB0Y2hhLWpzJz48L3NjcmlwdD4KPHNjcmlwdCBzcmM9J2h0dHBzOi8vc3RhdHMud3AuY29tL2UtMjAyMTIyLmpzJyBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdD4KCV9zdHEgPSB3aW5kb3cuX3N0cSB8fCBbXTsKCV9zdHEucHVzaChbICd2aWV3Jywge3Y6J2V4dCcsajonMTo5LjgnLGJsb2c6JzYyNTY0ODg2Jyxwb3N0OicwJyx0ejonLTQnLHNydjonc2JkY3RhbXBhYmF5LmNvbSd9IF0pOwoJX3N0cS5wdXNoKFsgJ2NsaWNrVHJhY2tlckluaXQnLCAnNjI1NjQ4ODYnLCAnMCcgXSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+LyogPCFbQ0RBVEFbICovalF1ZXJ5KCAnI21haW5faW5uZXInICkucHJlbG9hZGVyKHsgaW1nU2VsZWN0b3I6ICcuYmxvZ19pbmRleF9pbWFnZV9sb2FkIHNwYW4gaW1nJywgaW1nQXBwZW5kOiAnLmJsb2dfaW5kZXhfaW1hZ2VfbG9hZCcsIG9uZWFjaGxvYWQ6IGZ1bmN0aW9uKGltYWdlKSB7IGpRdWVyeShpbWFnZSkucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmZhZGVJbigyMDApOyB9IH0pO2pRdWVyeSggJy5vbmVfY29sdW1uX3BvcnRmb2xpbycgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9faW1nX2xvYWQgc3BhbiBpbWcnLCBpbWdBcHBlbmQ6ICcucG9ydGZvbGlvX2ltZ19sb2FkJywgb25lYWNobG9hZDogZnVuY3Rpb24oaW1hZ2UpIHsgalF1ZXJ5KGltYWdlKS5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuZmFkZUluKDIwMCk7IH0gfSk7alF1ZXJ5KCAnLnR3b19jb2x1bW5fcG9ydGZvbGlvJyApLnByZWxvYWRlcih7IGltZ1NlbGVjdG9yOiAnLnBvcnRmb2xpb19pbWdfbG9hZCBzcGFuIGltZycsIGltZ0FwcGVuZDogJy5wb3J0Zm9saW9faW1nX2xvYWQnLCBvbmVhY2hsb2FkOiBmdW5jdGlvbihpbWFnZSkgeyBqUXVlcnkoaW1hZ2UpLnBhcmVudCgpLnBhcmVudCgpLm5leHQoKS5mYWRlSW4oMjAwKTsgfSB9KTtqUXVlcnkoICcudGhyZWVfY29sdW1uX3BvcnRmb2xpbycgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9faW1nX2xvYWQgc3BhbiBpbWcnLCBpbWdBcHBlbmQ6ICcucG9ydGZvbGlvX2ltZ19sb2FkJywgb25lYWNobG9hZDogZnVuY3Rpb24oaW1hZ2UpIHsgalF1ZXJ5KGltYWdlKS5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuZmFkZUluKDIwMCk7IH0gfSk7alF1ZXJ5KCAnLmZvdXJfY29sdW1uX3BvcnRmb2xpbycgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9faW1nX2xvYWQgc3BhbiBpbWcnLCBpbWdBcHBlbmQ6ICcucG9ydGZvbGlvX2ltZ19sb2FkJywgb25lYWNobG9hZDogZnVuY3Rpb24oaW1hZ2UpIHsgalF1ZXJ5KGltYWdlKS5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuZmFkZUluKDIwMCk7IH0gfSk7alF1ZXJ5KCAnLnBvcnRmb2xpb19nYWxsZXJ5LmxhcmdlX3Bvc3RfbGlzdCcgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9faW1nX2xvYWQgc3BhbiBpbWcnLCBpbWdBcHBlbmQ6ICcucG9ydGZvbGlvX2ltZ19sb2FkJywgb25lYWNobG9hZDogZnVuY3Rpb24oaW1hZ2UpIHsgalF1ZXJ5KGltYWdlKS5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuZmFkZUluKDIwMCk7IH0gfSk7alF1ZXJ5KCAnLnBvcnRmb2xpb19nYWxsZXJ5Lm1lZGl1bV9wb3N0X2xpc3QnICkucHJlbG9hZGVyKHsgaW1nU2VsZWN0b3I6ICcucG9ydGZvbGlvX2ltZ19sb2FkIHNwYW4gaW1nJywgaW1nQXBwZW5kOiAnLnBvcnRmb2xpb19pbWdfbG9hZCcgfSk7alF1ZXJ5KCAnLnBvcnRmb2xpb19nYWxsZXJ5LnNtYWxsX3Bvc3RfbGlzdCcgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9faW1nX2xvYWQgc3BhbiBpbWcnLCBpbWdBcHBlbmQ6ICcucG9ydGZvbGlvX2ltZ19sb2FkJyB9KTtqUXVlcnkoICcjbWFpbl9pbm5lcicgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5wb3J0Zm9saW9fZnVsbF9pbWFnZSBzcGFuIGltZycsIGltZ0FwcGVuZDogJy5wb3J0Zm9saW9fZnVsbF9pbWFnZScgfSk7alF1ZXJ5KCAnI21haW5faW5uZXInICkucHJlbG9hZGVyKHsgaW1nU2VsZWN0b3I6ICcuYmxvZ19zY19pbWFnZV9sb2FkIHNwYW4gaW1nJywgaW1nQXBwZW5kOiAnLmJsb2dfc2NfaW1hZ2VfbG9hZCcgLCBvbmVhY2hsb2FkOiBmdW5jdGlvbihpbWFnZSkgeyBqUXVlcnkoaW1hZ2UpLnBhcmVudCgpLnBhcmVudCgpLm5leHQoKS5mYWRlSW4oMjAwKTsgfSB9KTtqUXVlcnkoICcjbWFpbl9pbm5lciwgI3NpZGViYXJfaW5uZXInICkucHJlbG9hZGVyKHsgaW1nU2VsZWN0b3I6ICcuZmFuY3lfaW1hZ2VfbG9hZCBzcGFuIGltZycsIGltZ0FwcGVuZDogJy5mYW5jeV9pbWFnZV9sb2FkJywgb25lYWNobG9hZDogZnVuY3Rpb24oaW1hZ2Upe3ZhciBpbWFnZUNhcHRpb24gPSBqUXVlcnkoaW1hZ2UpLnBhcmVudCgpLnBhcmVudCgpLm5leHQoKTtpZihpbWFnZUNhcHRpb24ubGVuZ3RoPjApe2ltYWdlQ2FwdGlvbi5yZW1vdmUoKTtqUXVlcnkoaW1hZ2UpLnBhcmVudCgpLmFkZENsYXNzKCdoYXNfY2FwdGlvbl9mcmFtZScpO2pRdWVyeShpbWFnZSkucGFyZW50KCkuYXBwZW5kKGltYWdlQ2FwdGlvbik7alF1ZXJ5KGltYWdlKS5uZXh0KCkuY3NzKCdkaXNwbGF5JywnYmxvY2snKTt9fX0pO2pRdWVyeSggJyNpbnRyb19pbm5lcicgKS5wcmVsb2FkZXIoeyBpbWdTZWxlY3RvcjogJy5mYW5jeV9pbWFnZV9sb2FkIHNwYW4gaW1nJywgaW1nQXBwZW5kOiAnLmZhbmN5X2ltYWdlX2xvYWQnLCBvbmVhY2hsb2FkOiBmdW5jdGlvbihpbWFnZSl7dmFyIGltYWdlQ2FwdGlvbiA9IGpRdWVyeShpbWFnZSkucGFyZW50KCkucGFyZW50KCkubmV4dCgpO2lmKGltYWdlQ2FwdGlvbi5sZW5ndGg+MCl7aW1hZ2VDYXB0aW9uLnJlbW92ZSgpO2pRdWVyeShpbWFnZSkucGFyZW50KCkuYWRkQ2xhc3MoJ2hhc19jYXB0aW9uX2ZyYW1lJyk7alF1ZXJ5KGltYWdlKS5wYXJlbnQoKS5hcHBlbmQoaW1hZ2VDYXB0aW9uKTtqUXVlcnkoaW1hZ2UpLm5leHQoKS5jc3MoJ2Rpc3BsYXknLCdibG9jaycpO319fSk7ZnVuY3Rpb24gbXlzaXRlX2pjYXJvdXNlbF9zZXR1cChjKSB7Yy5jbGlwLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdub3NjcmlwdCcpO3ZhciBqY2Fyb3VzZWxfaW1nX2xvYWQgPSBjLmNsaXAuY2hpbGRyZW4oKS5jaGlsZHJlbigpLmZpbmQoJy5wb3N0X2dyaWRfaW1hZ2UgLnBvcnRmb2xpb19pbWdfbG9hZCcpO2lmKCBqY2Fyb3VzZWxfaW1nX2xvYWQubGVuZ3RoPjEgKSB7amNhcm91c2VsX2ltZ19sb2FkLmVhY2goZnVuY3Rpb24oaSkge3ZhciBmaWxlbmFtZSA9IGpRdWVyeSh0aGlzKS5hdHRyKCdocmVmJyksdmlkZW9zPVsnc3dmJywneW91dHViZScsJ3ZpbWVvJywnbW92J107Zm9yKHZhciB2IGluIHZpZGVvcyl7aWYoZmlsZW5hbWUubWF0Y2godmlkZW9zW3ZdKSl7alF1ZXJ5KHRoaXMpLmNzcygnYmFja2dyb3VuZEltYWdlJywndXJsKCcgK2Fzc2V0c1VyaSsgJy9wbGF5LnBuZyknKTt9ZWxzZXtqUXVlcnkodGhpcykuY3NzKCdiYWNrZ3JvdW5kSW1hZ2UnLCd1cmwoJyArYXNzZXRzVXJpKyAnL3pvb20ucG5nKScpO319alF1ZXJ5KHRoaXMpLm5leHQoKS5mYWRlSW4oMjAwKTt9KTt9fS8qIF1dPiAqLzwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=" width="303px" alt="how to make a marketing plan for a website" />

Track your progress and set your objectives in a spreadsheet to maintain everyone updated on the progress and show the status of your marketing and advertising plans. After you’ve gathered all your study, take the time to analyze it and use it to set your enterprise goals. Do a social media, advertising and marketing, and all round content audit to see exactly where you are lacking and where you can increase. The consultants at SJ weaver have place together a 4 step marketing and advertising strategy. Much more company defines a advertising plan and all the sections of a single. Irrespective of whether you are selling t-shirts out of your garage or distributing application to enterprise corporations, you will need a advertising plan.

<h2>How To : Create An On-line Digital Advertising And Marketing Strategy</h2>

This is an all-about exceptional marketing and advertising planning primer, well written, funny, and to the point. But that foundation is important, and by 1/three the way in you are really acquiring to the meat and it keeps going from there. Extremely actionable, and fantastic for the solo entrepreneur as nicely as the significant corporate marketing particular person. Allan very easily puts promoting buzz words into everyday language with basic analogies and metaphors. It really is straightforward for the rest of us, it doesn't get lost in the technical facts of the marketing and advertising field, it is completely connected with the rest of what you have to understand as an entrepreneur. This book got far better as it progressed, setting out clear and actionable marketing and advertising insights.

When essential decisions concerning advertising and marketing come up then you can normally refer to it, creating sure that you stick to the plan and your objectives. It helps you to manage spending budget, track effectiveness and streamlines your organizing for the future. Get out there, start your study and start to place with each other your advertising and marketing plan now. Audit and test your Google Analytics to make confident your reporting is correct and correlates with sales data. This can do a lot of the heavy lifting for you, but is this set up correctly?

The authorities at Exposure Ninja have broken down the process of designing a productive digital advertising method into 12 uncomplicated-to-stick to actions. Plan your techniques - once you have a top rated-level strategy which includes your all round objectives, you want to determine the techniques that you want to use. The program can also cover any other non-online marketing and advertising activities that are being undertaken.

<h3>Hunting For Aid To Program Your Digital Advertising Method?</h3>

A advertising plan is a document made use of to organise your business’s marketing and advertising ambitions and to establish your method to meet them. It is a roadmap for how to launch a little enterprise or a new item or service. It starts with your mission statement and leads to who your target shoppers are and how you program to reach them. Your program should really include things like study about your market and customer base, what promoting supplies and procedures you plan to use and how you plan to measure your good results.

<ul>
<li>When travel is a lot extra restricted than before, it’s even a lot more crucial for you to have a coherent and helpful digital promoting method.</li>
<li>We will assistance you have an understanding of how to maximise the potential of Internet Marketing for your business.</li>
<li> google seo is that, while you may be capable to put your conclusions and actions succinctly into 1 web page, the true hard function in organizing is in the procedure.</li>
<li>So you can see it’s simple to fall into the trap of setting targets that satisfy your ego, but aren’t in fact very good for your company in the extended term.</li>
<li>As you can see, Victorious Search engine optimisation gets the bulk of their site visitors from search, which indicates that they’re likely investing pretty a bit of time and energy into their content approach.</li>
</ul>

Links to the supporting internet site are good with some wonderful content material on there. For the very first time Seth Godin delivers the core of his promoting wisdom in a single compact, accessible, timeless package. This is Promoting shows you how to do function you are proud of, irrespective of whether you happen to be a tech startup founder, a little enterprise owner, or part of a substantial corporation. This promotion method is suitable if we’re looking to get a higher level of visits, and to maintain or raise it at medium to extended term. The aim of this phase is to make up an inventory of what we’ve completed to market our business enterprise on the Net up till now, and what are our on the internet ambitions now. A summary of the all round objectives of the project and the approaches you will employ to obtain them.


Lets say your business sells paddle boards, a bigger investment that your consumer will want to put much more thought into just before purchasing. Obtaining an ad linking to your products or an article on “X Motives To Get Into Paddleboarding” could spark the focus of people today who are curious but nonetheless needing to do more analysis. This will maintain you on track towards your overarching advertising and marketing ambitions. When you are setting your promoting objectives, refer back to the insights you uncovered in your marketing audit. Your SWOTand competitor analysis may well have equipped you with some wonderful beginning points.

Here's my website: https://seohero.uk/technical-seo-core-web-vitals/
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.