����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
/
bosnacweb08
/
bosnacweb08ab
/
b1732
/
ipg.rapscsplcom
/
demo
/
hoosier
/
production
/
js
/
[
Home
]
File: application.js
!function(e){function n(a){if(t[a])return t[a].exports;var i=t[a]={exports:{},id:a,loaded:!1};return e[a].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var t={};return n.m=e,n.c=t,n.p="",n(0)}([function(e,n,t){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var a=(t(3),t(4)),i=n(a),o=t(5),s=n(o),r=t(6),l=n(r),d=t(7),c=n(d),u=t(8),p=n(u),g=t(9),m=(n(g),t(10)),f=n(m),v=t(47),h=n(v),y=t(65),b=n(y),w=t(70),_=n(w),S=t(75),C=n(S),k=t(76),x=n(k),I=t(50),M=n(I);t(77);var T=[s.default,l.default,c.default,p.default,"me-lazyload",h.default.name,_.default.name,b.default.name];if(App.sentryClientDSN){var A={ignoreErrors:["Maximum call stack size exceeded","twttr is not defined"],ignoreUrls:[/maps\.googleapis\.com/i,/api\.juspay\.in/i,/extensions\//i,/^chrome:\/\//i]};x.default.config(App.sentryClientDSN,A).addPlugin(t(79),i.default).install(),T.push("ngRaven"),window.Raven=x.default;var P=M.default.get(Swiggy,"tidData.tid"),E=M.default.get(Swiggy,"tidData.deviceId");M.default.isEmpty(P)||M.default.isEmpty(E)||x.default.setUserContext({tid:P,deviceId:E})}try{i.default.module("app.components"),T.push("app.components")}catch(e){}i.default.module("app",T).directive("app",f.default).factory("MobileWeb",C.default).config(["$httpProvider",function(n){n.interceptors.push(function(){return{responseError:function(n){e.error("Failed to get response from server.")}}})}]).config(["$compileProvider",function(e){e.debugInfoEnabled(!1)}])}).call(n,t(1))},function(e,n,t){e.exports=t(2)(11)},function(e,n){e.exports=vendor},function(e,n,t){e.exports=t(2)(35)},function(e,n,t){e.exports=t(2)(24)},function(e,n,t){e.exports=t(2)(28)},function(e,n,t){e.exports=t(2)(29)},function(e,n,t){e.exports=t(2)(31)},function(e,n,t){e.exports=t(2)(33)},function(e,n){"use strict";angular.module("me-lazyload",[]).directive("lazySrc",["$window","$document",function(e,n){function t(e){var n=e.data("__uid");return n||e.data("__uid",n=""+ ++u),n}function a(){var e,n="number"==typeof d.pageXOffset?d.pageXOffset:(((e=r.documentElement)||(e=l.parentNode))&&"number"==typeof e.ScrollLeft?e:l).ScrollLeft,t="number"==typeof d.pageYOffset?d.pageYOffset:(((e=r.documentElement)||(e=l.parentNode))&&"number"==typeof e.ScrollTop?e:l).ScrollTop;return{offsetX:n,offsetY:t}}function i(e){var n,t,i=e[0],o=i.getBoundingClientRect(),s=a(),l=s.offsetX,c=s.offsetY,u=o.width,p=o.height,g=o.left+l,m=o.top+c,f=Math.max(r.documentElement.clientWidth,d.innerWidth||0),v=Math.max(r.documentElement.clientHeight,d.innerHeight||0);return m<=c?m+p>=c&&(t=!0):m>=c&&m<=c+v&&(t=!0),g<=l?g+u>=l&&(n=!0):g>=l&&g<=l+f&&(n=!0),n&&t}function o(){Object.keys(p).forEach(function(e){var n=p[e],t=n.iElement,a=n.$scope;if(i(t)){t.attr("src",a.lazySrc);var o="true"===a.lazyReload;o||(t.unbind("scroll"),t.unbind("resize"))}})}function s(){var e=angular.element(this),n=t(e);e.css("opacity",1),p.hasOwnProperty(n)&&delete p[n]}var r=n[0],l=r.body,d=e,c=angular.element(d),u=0,p={};return c.bind("scroll",o),c.bind("resize",o),{restrict:"A",scope:{lazySrc:"@",animateVisible:"@",animateSpeed:"@",lazyReload:"@"},link:function(e,n){n.bind("load",s);var a=e.$watch("lazySrc",function(){var o="1s";if(null!=e.animateSpeed&&(o=e.animateSpeed),i(n)){e.animateVisible&&n.css({"background-color":"#fff",opacity:0,"-webkit-transition":"opacity "+o,transition:"opacity "+o}),n.attr("src",e.lazySrc);var s="true"===e.lazyReload;s||a()}else{var r=t(n);n.css({"background-color":"#fff",opacity:0,"-webkit-transition":"opacity "+o,transition:"opacity "+o}),p[r]={iElement:n,$scope:e}}});e.$on("$destroy",function(){n.unbind("load");var e=t(n);p.hasOwnProperty(e)&&delete p[e]})}}}])},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=t(11),o=a(i);t(12),t(19),t(20),t(21),t(22),t(23),t(24),t(25),t(26),t(29),t(30),t(32),t(33),t(34),t(35),t(36),t(37),t(38),t(39),t(40),t(41),t(42),t(43),t(44),t(46);var s=function(){return{template:o.default,restrict:"E"}};n.default=s,e.exports=n.default},function(e,n){e.exports='<!--Anything you want to be on every page, place it in this file-->\n<div class="app">\n\t<div ui-view></div>\n</div>\n'},function(e,n){},,,,,,,function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},,,function(e,n){},function(e,n){},,function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},function(e,n){},,function(e,n){},function(e,n,t){(function(a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(){var e=navigator.userAgent||navigator.vendor||window.opera;return/android/i.test(e)?"android":/iPad|iPhone|iPod/.test(e)&&!window.MSStream?"ios":"unknown"}function s(){var e=navigator.userAgent.match(/OS (\d+)_(\d+)_?(\d+)?/);return parseInt(e[1],10)}Object.defineProperty(n,"__esModule",{value:!0});var r=t(4),l=i(r),d=t(49),c=i(d),u=t(51),p=i(u),g=t(52),m=i(g),f=t(53),v=i(f),h=t(54),y=i(h),b=t(55),w=i(b),_=t(56);t(57),t(58),a.cloudinary.config({cloud_name:"swiggy",secure:!0});var S=t(62),C=l.default.module("app.common",[]);C.service("Cities",c.default),C.service("LoginService",p.default),C.service("uiEffects",m.default),C.directive("staticInclude",function(){return{restrict:"AE",transclude:!0,scope:{},template:function(e,n){return S("./"+n.templateName)},link:function(e,n,t){e.options=Swiggy.options}}}),C.directive("modalBackdrop",y.default),C.config(["$locationProvider",function(e){e.html5Mode(!0)}]),C.service("GTMImpressionService",function(){return{emit:function(e){(0,_.pushGTMEvent)("GTM_SCREEN_VIEW_EVENT",e)}}}),"1"==Swiggy.options.gtm_click_stream_enabled&&C.directive("ngClick",function(){return{restrict:"A",priority:100,link:function(e,n){n.bind("click",function(e){if(window.dataLayer&&App.gtmData&&n.data("gtm-element")){var t=n.data("gtm-element").split("_");if(!(t.length<2)&&v.default[t[0]]){var a=v.default[t[0]][t[1]],i=t[2];window.dataLayer.push({event:"gtm_click","gtm_click.data":{deviceId:App.gtmData.deviceId||"",ipAddress:App.gtmData.ip||"",tid:App.gtmData.tid||"",platform:"dWeb",userAgent:App.gtmData.userAgent||"",source:{utmSource:App.gtmData.utmSource||"",utmMedium:App.gtmData.utmMedium||"",utmCampaign:App.gtmData.utmCampaign||"",utmContent:App.gtmData.utmContent||""}},"gtm_click.event":{pageType:App.gtmData.pageType||"",time:Date.now?Date.now():(new Date).getTime(),elementName:a,elementValue:i||"",elementId:e.target.id||"",elementClasses:e.target.className||"",elementUrl:e.target.href||e.target.action||""}})}}})}}}),n.default=C,a(document).ready(function(){a("body").on("click",".go-to-top",function(){a("html, body").animate({scrollTop:0},300)}),a("body").on("click",".prod-api-banner .icon-swgy-cross",function(){a(".prod-api-banner").fadeOut()}),a(window).unload(function(){(0,_.updateLastScreen)()});var e=!1,n=!0;a(window).scroll(function(){a(this).scrollTop()>=150?e||(a(".go-to-top").fadeIn(200),e=!0):e&&(a(".go-to-top").fadeOut(200),e=!1),0==a(this).scrollTop()?n&&(a("div.header-light").removeClass("drop-shadow"),n=!1):n||(a("div.header-light").addClass("drop-shadow"),n=!0)});var t=a(".download-app-mweb");if(t.length){var i,r,d=function(){if(sessionStorage&&sessionStorage.getItem("hideOpenInAppBanner"))return{v:void 0};if(i=o(),r="https://www.swiggy.com/app?utm_source=swiggy&utm_campaign=mweb_bannerlink","ios"!=i&&"android"!=i)return{v:void 0};var e=t.find(".modal");e.on("hide.bs.modal",function(){t.hide(),sessionStorage&&sessionStorage.setItem("hideOpenInAppBanner",!0)}),a(".app-download-link").click(function(e){e.preventDefault();var n=function(){"undefined"!=typeof document.visibilityState&&"visible"!=document.visibilityState||(window.location=r)},t=function(){var e=document.createElement("iframe");e.style.border="none",e.style.width="1px",e.style.height="1px",e.src="swiggy://",document.body.appendChild(e)};return"ios"==i&&s()>=9?void(window.location=r):(t(),void window.setTimeout(n,1e3))});var n=new Image;a(n).on("load",function(){"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","Show Open In App Banner","show",Swiggy.pageType),t.show(),e.modal("show")}),n.src="http://res.cloudinary.com/swiggy/image/upload/fl_lossy,q_auto,f_auto/v1491391939/Download_app_bg_pzyqpk"}();if("object"==typeof d)return d.v}var c=new w.default("AvenirNextPro");if(c.load().then(function(){if(document.cookie.indexOf("fonts-loaded")==-1){document.documentElement.className+=" fonts-loaded";var e=new Date;e.setTime(e.getTime()+2592e6),document.cookie="fonts-loaded=1;path=/;expires="+e.toUTCString()}},function(){}),void 0!==window.URLSearchParams&&window.dataLayer&&window.App.gtmData){var u=new URLSearchParams(location.search);if(u.has("utm_source")||u.has("utm_medium")||u.has("utm_campaign")||u.has("utm_content")){var p={send:function(){var e=l.default.injector(["ngCookies"]);e.invoke(["$cookies",function(e){window.dataLayer.push({event:"LANDING_EVENT",ld:{sid:App.gtmData.sid,deviceId:App.gtmData.deviceId,lt:e.get("latitude")||"",lg:e.get("longitude")||"",ts:Date.now(),ua:navigator.userAgent,ui:void 0!==App.user?App.user.customer_id:0,uso:u.get("utm_source")||"-",ume:u.get("utm_medium")||"-",uco:u.get("utm_content")||"-",uca:u.get("utm_campaign")||"-",ll:window.location.href}})}])}};p.send()}}}),e.exports=n.default}).call(n,t(48))},function(e,n,t){e.exports=t(2)(1)},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function i(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(n,t,a){return t&&e(n.prototype,t),a&&e(n,a),n}}(),s=t(50),r=a(s),l=function(){function e(){i(this,e),this.cities=App.cityList||[],this.currentCity}return o(e,[{key:"list",value:function(){return this.cities}},{key:"getCityFromSlug",value:function(e){return e=r.default.words(r.default.trim(e,"/"))[0],this.currentCity=r.default.first(r.default.filter(this.cities,function(n){return n.slug===e})),this.currentCity}}]),e}();n.default=l,e.exports=n.default},function(e,n,t){e.exports=t(2)(2)},function(e,n){"use strict";function t(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function e(n){t(this,e),this.isLoggedIn=App.isLoggedIn,this.$rootScope=n,this.emitShowSignin=function(){n.$broadcast("SHOW_SIGNIN",{})}};a.$inject=["$rootScope"],n.default=a,e.exports=n.default},function(e,n,t){(function(t){"use strict";function a(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function i(e,n){t(".ripple").remove();var a=e.offset().top,i=e.offset().left,o=n.pageX-i,s=n.pageY-a,r=t("<div class='ripple'></div>");r.css({top:s,left:o}),e.append(r)}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(n,t,a){return t&&e(n.prototype,t),a&&e(n,a),n}}(),s=function(){function e(){a(this,e)}return o(e,[{key:"initRipple",value:function(){t(".go-ripple").click(function(e){var n=this;i(t(n),e)})}}]),e}();n.default=s,e.exports=n.default}).call(n,t(48))},function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t={};t.server={1:"Download our App (iOS)",2:"Download our App (Android)",3:"We are Hiring",4:"Help and Support",5:"Partner With Us",6:"Open In App"},t.home={1:"Locate Me",2:"Show Restaurants",3:"Select Address from Google Suggestions"},t.location={1:"Show Location Dropdown",2:"Select Home Address",3:"Select Work Address",4:"Select Other Address",5:"Show all Addresses",6:"Use Current Location",7:"Select Address from Google Suggestions",8:"Select Address from Recent Searched Addresses",9:"Show Cart",10:"Locate Me (Modal)",11:"Go Back from Edit Address (Modal)",12:"Show Restaurants (Modal)",13:"Select Address (Modal)",14:"Edit Address (Modal)",15:"Remove Address (Modal)"},t.customizeItem={1:"Add Item with Addons",2:"Update Item with Addons",3:"Update Variant",4:"Toggle Addons"},t.ma={1:"View Statement",2:"Select my Profile Tab",3:"Select my Orders Tab",4:"Select Saved Addresses Tab",5:"Select Payment Tab",6:"Select Offers Tab",7:"Copy Coupon Code",8:"Expand/Collapse Order",9:"Track Order",10:"Repeat Order",11:"Load more Orders",12:"Verify Email",13:"Edit Email",14:"Verify Mobile",15:"Edit Mobile",16:"Edit Address",17:"Delete Address",18:"Load more Swiggy Money Txns",19:"Remove Card",20:"Update Email",21:"Update Mobile",22:"Save Address",23:"Verify OTP"},t.search={1:"Open Restaurant Menu",2:"Search Dish"},t.searchPage={1:"Set Cuisine Filter",2:"Apply Filters",3:"Set Budget Filter",4:"Remove all Filters",5:"Show Filter Modal",6:"Show More Cuisine Filters",7:"Switch Cart"},t.rl={1:"Open Carousel Link",2:"Open Collection Link",3:"Set Cuisine Filter",4:"Apply Filter",5:"Set Budget Filter",6:"Set Offers Filter",7:"Set Delivery Fee Filter",8:"Set Convenience Fee Filter",9:"Set Pure Veg Filter",10:"Sort by Relevance",11:"Sort by Delivery time",12:"Sort by Restaurant rating",13:"Sort by Budget",14:"Remove all Filters",15:"Show Filter Modal",16:"Show More Cuisine Filters",17:"Load More Listing"},t.login={1:"Log Out",2:"Show Sign In Modal",3:"Forgot your Password",4:"Show Signup Modal",5:"Login Now"},t.menu={1:"Select Menu Category",2:"Select Menu Category (Recommended)",3:"Reduce Item from Cart Modal",4:"Add Item from Cart Modal",5:"Remove Item from Cart Modal",6:"Switch Cart"},t.resItem={1:"Show Outlets",2:"Show Swiggy Select Modal",3:"Show Restaurant"},t.foodItem={1:"Remove Food Item From Recommended",2:"Add Food Item From Recommended",3:"Remove Food Item",4:"Add Food Item",5:"Remove Food Item (Mobile)",6:"Add Food Item (Mobile)",7:"Remove Food Item From Best Seller",8:"Add Food Item From Best Seller",9:"Remove Food Item From Meal Completion",10:"Add Food Item From Meal Completion"},t.checkout={1:"Edit Delivery Address",2:"Add New Address",3:"Update Address",4:"Apply Coupon",5:"Continue to Payment",6:"Select Offers Tab",7:"Select Saved Cards Tab",8:"Select Debit/Credit Cards Tab",9:"Select Netbanking Tab",10:"Select Wallets Tab",11:"Select COD Tab",12:"Get The Offer",13:"Convert to COD",14:"Try Again"},t.cart={1:"Reduce Item from Cart",2:"Add Item to Cart",3:"Customize Item",4:"Remove Item from Cart",5:"Remove Coupon",6:"Checkout"},t.help={1:"View Past Orders"},n.default=t,e.exports=n.default},function(e,n,t){(function(t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(){return{restrict:"A",link:function(e,n){var a=t('<div class="modal-backdrop fade in" />'),i=n.data("mbd");n.on("show.bs.modal",function(){i&&t("body").addClass("modal-backdrop-custom")}),n.on("shown.bs.modal",function(){t(".modal-backdrop").remove(),n.parent().append(a)}),n.on("hide.bs.modal",function(){a.remove(),i&&t("body").removeClass("modal-backdrop-custom")})}}};n.default=a,e.exports=n.default}).call(n,t(48))},function(e,n,t){!function(){function n(e,n){document.addEventListener?e.addEventListener("scroll",n,!1):e.attachEvent("scroll",n)}function t(e){document.body?e():document.addEventListener?document.addEventListener("DOMContentLoaded",function n(){document.removeEventListener("DOMContentLoaded",n),e()}):document.attachEvent("onreadystatechange",function n(){"interactive"!=document.readyState&&"complete"!=document.readyState||(document.detachEvent("onreadystatechange",n),e())})}function a(e){this.a=document.createElement("div"),this.a.setAttribute("aria-hidden","true"),this.a.appendChild(document.createTextNode(e)),this.b=document.createElement("span"),this.c=document.createElement("span"),this.h=document.createElement("span"),this.f=document.createElement("span"),this.g=-1,this.b.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.c.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.f.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.h.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;",this.b.appendChild(this.h),this.c.appendChild(this.f),this.a.appendChild(this.b),this.a.appendChild(this.c)}function i(e,n){e.a.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+n+";"}function o(e){var n=e.a.offsetWidth,t=n+100;return e.f.style.width=t+"px",e.c.scrollLeft=t,e.b.scrollLeft=e.b.scrollWidth+100,e.g!==n&&(e.g=n,!0)}function s(e,t){function a(){var e=i;o(e)&&e.a.parentNode&&t(e.g)}var i=e;n(e.b,a),n(e.c,a),o(e)}function r(e,n){var t=n||{};this.family=e,this.style=t.style||"normal",this.weight=t.weight||"normal",this.stretch=t.stretch||"normal"}function l(){if(null===g)if(d()&&/Apple/.test(window.navigator.vendor)){var e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent);g=!!e&&603>parseInt(e[1],10)}else g=!1;return g}function d(){return null===f&&(f=!!document.fonts),f}function c(){if(null===m){var e=document.createElement("div");try{e.style.font="condensed 100px sans-serif"}catch(e){}m=""!==e.style.font}return m}function u(e,n){return[e.style,e.weight,c()?e.stretch:"","100px",n].join(" ")}var p=null,g=null,m=null,f=null;r.prototype.load=function(e,n){var o=this,r=e||"BESbswy",c=0,g=n||3e3,m=(new Date).getTime();return new Promise(function(e,n){if(d()&&!l()){var f=new Promise(function(e,n){function t(){(new Date).getTime()-m>=g?n():document.fonts.load(u(o,'"'+o.family+'"'),r).then(function(n){1<=n.length?e():setTimeout(t,25)},function(){n()})}t()}),v=new Promise(function(e,n){c=setTimeout(n,g)});Promise.race([v,f]).then(function(){clearTimeout(c),e(o)},function(){n(o)})}else t(function(){function t(){var n;(n=-1!=h&&-1!=y||-1!=h&&-1!=b||-1!=y&&-1!=b)&&((n=h!=y&&h!=b&&y!=b)||(null===p&&(n=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),p=!!n&&(536>parseInt(n[1],10)||536===parseInt(n[1],10)&&11>=parseInt(n[2],10))),n=p&&(h==w&&y==w&&b==w||h==_&&y==_&&b==_||h==S&&y==S&&b==S)),n=!n),n&&(C.parentNode&&C.parentNode.removeChild(C),clearTimeout(c),e(o))}function l(){if((new Date).getTime()-m>=g)C.parentNode&&C.parentNode.removeChild(C),n(o);else{var e=document.hidden;!0!==e&&void 0!==e||(h=d.a.offsetWidth,y=f.a.offsetWidth,b=v.a.offsetWidth,t()),c=setTimeout(l,50)}}var d=new a(r),f=new a(r),v=new a(r),h=-1,y=-1,b=-1,w=-1,_=-1,S=-1,C=document.createElement("div");C.dir="ltr",i(d,u(o,"sans-serif")),i(f,u(o,"serif")),i(v,u(o,"monospace")),C.appendChild(d.a),C.appendChild(f.a),C.appendChild(v.a),document.body.appendChild(C),w=d.a.offsetWidth,_=f.a.offsetWidth,S=v.a.offsetWidth,l(),s(d,function(e){h=e,t()}),i(d,u(o,'"'+o.family+'",sans-serif')),s(f,function(e){y=e,t()}),i(f,u(o,'"'+o.family+'",serif')),s(v,function(e){b=e,t()}),i(v,u(o,'"'+o.family+'",monospace'))})})},e.exports=r}()},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o=t(4),s=a(o),r={DW_SCREEN_VIEW_EVENT:"DW_SCREEN_VIEW_EVENT",DW_CLICK_EVENT:"DW_CLICK_EVENT",DW_IMPRESSION_EVENT:"DW_IMPRESSION_EVENT"},l=function(){try{var e=JSON.parse(swgyStorage.getItem("swgy_dweb_analytics_sequence_object"));return e&&e.number?e.number:0}catch(e){return 0}},d=function(e){try{var n={sid:App.gtmData.sid||"-",number:e};swgyStorage.setItem("swgy_dweb_analytics_sequence_object",JSON.stringify(n))}catch(e){return 0}},c=function(){return window.App.user?{userId:App.user.customer_id}:{}},u=function(){var e=swgyStorage.getItem("lat_lng_data");if(!e)return{};try{e=JSON.parse(e)}catch(e){return{}}return{lng:e.lng,lat:e.lat}},p=function(){var e="direct",n=s.default.injector(["ngCookies"]);return n.invoke(["$cookies",function(n){e=n.get("order_medium")||"direct"}]),e},g=function(){try{var e=sessionStorage.getItem("lastScreen");return void 0!==e?e:" - "}catch(e){return"-"}},m=function(){try{sessionStorage.setItem("lastScreen",App.screenNames[Swiggy.pageType]||Swiggy.pageType)}catch(e){return}};n.updateLastScreen=m;var f=function(e){y(r.DW_SCREEN_VIEW_EVENT,e)};n.sendScreenViewEvent=f;var v=function(e){y(r.DW_CLICK_EVENT,e)};n.sendClickEvent=v;var h=function(e){y(r.DW_IMPRESSION_EVENT,e)};n.sendImpressionEvent=h;var y=function(e,n){var t=n.category,a=n.action,o=n.label,s=n.value,r=n.context;if(window.dataLayer&&t){var m=parseInt(l()),f=m+1,v={event:e,new_event:i({sequence_number:m,user:i({tid:App.gtmData.tid||"",sid:App.gtmData.sid||"",deviceId:App.gtmData.deviceId||""},c()),category:t,action:"undefined"!=typeof a?a:"-",source:p(),label:"undefined"!=typeof o?o:"-",value:"undefined"!=typeof s?s.toString():9999,context:"undefined"!=typeof r?r:"-",referral:g()},u())};window.dataLayer.push(v),d(f)}}},function(e,n,t){e.exports=t(2)(48)},function(e,n){},,,,function(e,n,t){function a(e){return t(i(e))}function i(e){return o[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var o={"./rl_placeholder.html":63,"./swiggy_select.html":64};a.keys=function(){return Object.keys(o)},a.resolve=i,e.exports=a,a.id=62},function(e,n){e.exports='<div class="rl-placeholders">\n <div class="row">\n <div class="col-xs-12 col-sm-6 card-container" ng-repeat="n in [].constructor(4) track by $index">\n <div class="card normal">\n <div class="animated-background">\n <!-- <div class="background-masker bm-left-top"></div> -->\n <!-- <div class="background-masker bm-left-bottom"></div> -->\n <div class="background-masker bm-left-right"></div>\n <div class="background-masker bm-right-left"></div>\n <div class="background-masker bm-right-top"></div>\n <div class="background-masker bm-right-first-line"></div>\n <div class="background-masker bm-right-second-line"></div>\n <div class="background-masker bm-right-third-line"></div>\n </div>\n </div>\n </div>\n </div>\n</div>'},function(e,n){e.exports='<!-- Swiggy Select Modal -->\n<div class="modal fade" id="swiggy-select" tabindex="-1" role="dialog">\n <div class="modal-vertical-alignment-helper">\n <div class="modal-dialog modal-vertical-align-center" role="document">\n <div class="modal-content">\n <div class="modal-inner-content">\n <div class="modal-header text-center">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n <span aria-hidden="true" class="icon-swgy-cross"></span>\n </button>\n <img ng-src="https://res.cloudinary.com/swiggy/image/upload/f_auto,fl_lossy,q_auto/v1479449565/{{options._swiggy_assured_enabled == \'1\' ? \'swiggy_assured_yvyjkl\' : \'select-fork_tnxfwm\'}}" ng-class="{\'swiggy-select-logo\': options._swiggy_assured_enabled == \'1\'}" ng-click="vm.showSwiggySelectModal();"/>\n <h4 class="m0">{{\'SWIGGY \' + (options._swiggy_assured_enabled == \'1\' ? \'ASSURED\' : \'SELECT\')}}</h4>\n\n <ul class="list-unstyled content-list">\n <li>\n <div class="select-icon">\n <i class="icon-swgy-clock-dark"></i>\n </div>\n <div class="select-item">\n <div class="title">On - Time Delivery</div>\n <p>Delivered on time, or else you get a <span data-option-key="swiggy_assured_cb_percentage">{{options.swiggy_assured_cb_percentage || 40}}</span>% cashback*</p>\n </div>\n </li>\n <li>\n <div class="select-icon badge-icon">\n <i class="icon-swgy-badge"></i>\n </div>\n <div class="select-item badge-title">\n <div class="title">Hand - Picked Restaurants</div>\n <p>The most reliable restaurants with a seamless delivery experience</p>\n </div>\n </li>\n </ul>\n </div>\n\n <div class="modal-body">\n <h5 class="tm0"><strong>Terms & Conditions</strong></h5>\n <ul class="content-list tnc">\n <li>\n <p><span data-option-key="swiggy_assured_cb_percentage">{{options.swiggy_assured_cb_percentage || 40}}</span>% Cashback, maximum of Rs.{{options.swiggy_assured_cb_max_amount || 200}}, on orders not delivered within the promised time</p>\n </li>\n <li>\n <p>Applicable only on online payments & Swiggy {{options._swiggy_assured_enabled == \'1\' ? \'Assured\' : \'Select\'}} restaurants</p>\n </li>\n\n <li>\n <p>On-time guarantee is based on delivery boy reaching customer location or the first barrier point (security guard/reception etc.)</p>\n </li>\n <li>\n <p>Not eligible for cashback if customer requests order edits</p>\n </li>\n <li>\n <p>For more details refer to Terms & Conditions under Help section</p>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="modal-footer">\n <button type="button" class="btn btn-default" data-dismiss="modal">Okay. Got it!</button>\n </div>\n </div>\n </div>\n </div>\n</div>'},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=t(4),o=a(i),s=t(5),r=a(s),l=t(66),d=a(l),c=t(69),u=a(c),p=o.default.module("app.swiggyAssured",[r.default]).directive("swiggyAssured",d.default).service("SwiggyAssuredService",u.default);n.default=p,e.exports=n.default},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=t(67),o=a(i),s=t(68),r=a(s);t(42);var l=function(){return{template:o.default,controller:r.default,restrict:"E",controllerAs:"vm",scope:{},bindToController:!0}};n.default=l,e.exports=n.default},function(e,n){e.exports='<!-- Swiggy Select Modal -->\n<div class="modal fade" id="swiggy-select" tabindex="-1" role="dialog">\n <div class="modal-vertical-alignment-helper">\n <div class="modal-dialog modal-vertical-align-center" role="document">\n <div class="modal-content" ng-class="{loading: vm.loading && !vm.failed}">\n <div class="modal-inner-content" ng-hide="vm.loading">\n <div class="modal-header text-center">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n <span aria-hidden="true" class="icon-swgy-cross"></span>\n </button>\n <img ng-src="{{vm.titleImage}}" class="swiggy-select-logo" />\n <h4 class="m0">{{vm.title}}</h4>\n\n <ul class="list-unstyled content-list">\n <li ng-repeat="feature in vm.features">\n <div class="select-icon">\n <i class="swiggy-assurred-icon" style="background-image: url(\'https://res.cloudinary.com/swiggy/image/upload/f_auto,fl_lossy,q_auto,w_30,h_30/v1479449565/{{feature.imageUrl}}\')"></i>\n </div>\n <div class="select-item">\n <div class="title">{{feature.titleText}}</div>\n <p>{{feature.subtitleText}}</p>\n </div>\n </li>\n </ul>\n </div>\n\n <div class="modal-body">\n <h5 class="tm0"><strong>Terms & Conditions</strong></h5>\n <ul class="content-list tnc">\n <li ng-repeat="terms in vm.termsConditions">\n <p>{{terms.subtitleText}}</p>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="modal-footer" ng-hide="vm.loading">\n <button type="button" class="btn btn-default" data-dismiss="modal">{{vm.buttonText}}</button>\n </div>\n\n <div class="modal-inner-content modal-error" ng-show="vm.failed">\n <div class="modal-header text-center">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n <span aria-hidden="true" class="icon-swgy-cross"></span>\n </button>\n <h4 class="m0"> </h4>\n </div>\n\n <div class="modal-body">\n <h3>Oh nooo!</h3>\n <p>Something went wrong.<br />\n Refresh the page to try again.</p>\n\n <div class="gopher">\n <img src="https://res.cloudinary.com/swiggy/image/upload/f_auto,fl_lossy,q_auto/v1491300763/gopher_oq09kh" />\n </div>\n </div>\n </div>\n\n <div class="modal-footer modal-error" ng-if="vm.failed">\n\n </div>\n\n </div>\n </div>\n </div>\n</div>'},function(e,n,t){(function(a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=t(50),r=i(s),l=function e(n,t,i){o(this,e),this.name="swiggyAssured";var s=this;s.$scope=n,s.lat=null,s.lng=null,s.saData=void 0,s.loading=!0,s.failed=!1,t.$on("openSAPopup",function(e,n,t){if(!n||!t){var o=void 0;try{o=JSON.parse(localStorage.getItem("lat_lng_data"))}catch(e){return}n=o.lat,t=o.lng}s.lat!=n||s.lng!=t||r.default.isEmpty(s.saData)?(s.lat=n,s.lng=t,s.saData=void 0,s.failed=!1,a("#swiggy-select").modal("show"),i.getAssuredPopupData(n,t).then(function(e){if(0!=r.default.get(e,"data.statusCode"))return void(s.failed=!0);s.loading=!1,s.saData=e.data;var n=s.saData.data.swiggy_assured_help_text;s.titleImage="https://res.cloudinary.com/swiggy/image/upload/f_auto,fl_lossy,q_auto/v1479449565/"+n.collectionIcon,s.buttonText=n.buttonText,s.title=n.collectionName,s.features=n.features[0].descriptions,s.termsConditions=n.features[1].descriptions; })):a("#swiggy-select").modal("show")})};l.$inject=["$scope","$rootScope","SwiggyAssuredService"],n.default=l,e.exports=n.default}).call(n,t(48))},function(e,n){"use strict";function t(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(n,t,a){return t&&e(n.prototype,t),a&&e(n,a),n}}(),i=function(){function e(n){t(this,e),this.$http=n}return a(e,[{key:"getAssuredPopupData",value:function(e,n){return this.$http.get("api/restaurants/assured?lat="+e+"&lng="+n)}}]),e}();i.$inject=["$http"],n.default=i,e.exports=n.default},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=t(4),o=a(i),s=t(71),r=a(s),l=t(74),d=a(l),c=o.default.module("login",[]).directive("login",r.default).service("swgyCartService",d.default);n.default=c,e.exports=n.default},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i=t(72),o=a(i),s=t(73),r=a(s),l=function(){return{template:o.default,controller:r.default,restrict:"E",controllerAs:"vm",link:function(){},scope:{},bindToController:!0}};n.default=l,e.exports=n.default},function(e,n){e.exports='<div class="login-component">\n <div ng-show="isLoggedIn && isLandingPage">\n <div class="loggedin-user-name"><a href="/my-account">{{userName}}</a></div>\n <a class="header-light-login-btn btn-logout" ng-click="vm.logOut()" data-gtm-element="login_1"><span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span><span ng-hide="progressing">Logout</span></a>\n </div>\n <div ng-show="isLoggedIn && !isLandingPage">\n <div class="mobile-nav clearfix visible-xs">\n <span class="username pull-right">\n {{userName}}\n <span class="caret"></span>\n <div class="dropdown mobile-dd">\n <ul class="">\n <li><a href="/my-account">Account</a></li>\n <li role="separator" class="divider"></li>\n <li>\n <a class="" ng-click="vm.logOut()" data-gtm-element="login_1">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">Logout</span>\n </a>\n </li>\n </ul>\n </div>\n </span>\n </div>\n <ul class="nav navbar-nav navbar-right hidden-xs">\n <li id="fat-menu" class="dropdown">\n <a ng-if="!vm.showNewLoginBtn()" id="header-menu" href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">\n {{userName}}\n <span class="caret"></span>\n </a>\n <a ng-if="vm.showNewLoginBtn()" id="header-menu" href="#" class="dropdown-toggle username-new" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">\n welcome, {{userName}}\n <span class="caret"></span>\n </a>\n <ul class="dropdown-menu" aria-labelledby="header-menu">\n <li><a href="/my-account">Account</a></li>\n <li role="separator" class="divider"></li>\n <li>\n <a class="" ng-click="vm.logOut()" data-gtm-element="login_1">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">Logout</span>\n </a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n <div ng-show="isLoggedIn == false">\n <a ng-click="vm.showSignin()" class="header-light-login-btn btn-login login-new" ng-if="vm.showNewLoginBtn() && !isMobile" data-gtm-element="login_2">Sign in / Register</a>\n <a ng-click="vm.showSignin()" class="header-light-login-btn btn-login" ng-if="!vm.showNewLoginBtn() || isMobile" data-gtm-element="login_2">Login</a>\n </div>\n <!-- SIGNIN MODAL -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="signInModal" id="signInModal" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-pad">\n <div class="popup-header">\n <h4 class="m0">Login to your account</h4>\n </div>\n <form class="material" ng-submit="vm.isValidFields([\'phonenumber\', \'password\']) && vm.logIn()" name="login" novalidate>\n <div class="col-md-12 box phone-box no-pad" ng-class="{\'invalid\': error.phonenumber}">\n <input type="text" class="popupinput form-control phone-number" id="phoneNumberField" ng-model="phonenumber" placeholder="Phone Number" ng-keydown="(error.phonenumber = \'\')" ng-change="vm.checkFieldInput(\'phonenumber\')">\n <span for="phoneNumberField" class="left icon-swgy-mobile" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></span>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.phonenumber}}\n </div>\n </div>\n <div class="col-md-12 box password-box no-pad" ng-class="{\'invalid\': error.password}">\n <input type="password" id="passwordField" class="popupinput form-control" ng-model="password" placeholder="Password" ng-keyup="error.password = \'\'">\n <span for="passwordField" class="left icon-swgy-password" rel="tooltip" title="hello" data-original-title="Password"></span>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.password}}\n </div>\n </div>\n <div class="col-md-12 box action-box no-pad">\n <button type="submit" class="btn btn-success">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">LOGIN</span>\n </button>\n </div>\n <div class="clearfix"></div>\n </form>\n <div class="other-section">\n <h5 class="other-action"><a ng-click="vm.showForgotPassword()" data-gtm-element="login_3">Forgot your password?</a> </h5>\n </div>\n </div>\n <div class="modal-footer">\n <h4 class="m0"><strong>Not a member yet ?</strong></h4>\n <h6 class="signup-details">Join the <b>Swiggy</b> family and wait no more, when you are hungry.</h6>\n <button type="button" class="btn btn-warning" ng-click="vm.showSignup(\'#signInModal\')" data-gtm-element="login_4">Signup Now!</button>\n </div>\n </div>\n </div>\n </div>\n <!-- SIGNUP MODAL -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="signUpModal" id="signUpModal" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-pad">\n <div class="popup-header">\n <h4 class="m0">Register with Swiggy</h4>\n </div>\n <div class="alert alert-warning" ng-show="errorMsg" style="">\n <span class="glyphicon glyphicon-exclamation-sign"></span> {{errorMsg}}\n </div>\n <form class="material" ng-submit="vm.isValidFields([\'fullname\', \'email\', \'phonenumber\', \'password\', \'acceptTerms\']) && vm.signUp()" name="signup" novalidate>\n <div class="col-md-12 box name-box no-pad" ng-class="{\'invalid\': error.fullname}">\n <input type="text" class="popupinput form-control" id="fullnameField" ng-model="fullname" placeholder="Name" ng-keydown="(error.fullname = \'\')">\n <label for="fullnameField" class="left icon-swgy-username" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></label>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.fullname}}\n </div>\n </div>\n <div class="col-md-12 box email-box no-pad" ng-class="{\'invalid\': error.email}">\n <input type="email" class="popupinput form-control" id="emailField" ng-model="email" placeholder="Email" ng-keydown="(error.email = \'\')">\n <label for="emailField" class="left icon-swgy-email" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></label>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.email}}\n </div>\n </div>\n <div class="col-md-12 box phone-box no-pad" ng-class="{\'invalid\': error.phonenumber}">\n <input type="text" class="popupinput form-control" id="phoneNumberField" ng-model="phonenumber" placeholder="Phone Number" ng-keydown="(error.phonenumber = \'\')" ng-change="vm.checkFieldInput(\'phonenumber\')">\n <label for="phoneNumberField" class="left icon-swgy-mobile" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></label>\n <!-- <label for="phoneNumberField" class="right glyphicon glyphicon-exclamation-sign" rel="tooltip" ng-if="error.phonenumber" data-original-title="{{error.phonenumber}}"></label> -->\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.phonenumber}}\n </div>\n </div>\n <div class="col-md-12 box password-box no-pad" ng-class="{\'invalid\': error.password}">\n <input type="password" id="passwordField" class="popupinput form-control" ng-model="password" placeholder="Password" ng-keydown="(error.password = \'\')">\n <label for="passwordField" class="left icon-swgy-password" rel="tooltip" title="hello" data-original-title="Password"></label>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.password}}\n </div>\n </div>\n <div class="col-md-12 box accept-box no-pad" ng-class="{\'invalid\': error.acceptTerms}">\n <div class="accept-aggreement" ng-click="vm.changeAcceptTerms()">\n <span class="blankbox icon-swgy-done" ng-class="{\'visible\': acceptTerms}"></span>\n <label>I accept the <a href="/terms-and-conditions" target="_blank" tabindex="-1">Terms & Conditions</a></label>\n <div class="error-tooltip left" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.acceptTerms}}\n </div>\n </div>\n </div>\n <div class="col-md-12 box action-box no-pad">\n <button type="submit" class="btn btn-success" ng-class="{\'progressing disabled\': progressing}" ng-disabled="progressing">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">Register & Continue</span>\n </button>\n </div>\n </form>\n </div>\n <div class="modal-footer">\n <h4 class="m0"><strong>Already a member ?</strong></h4>\n <h6 class="login-details">Login now and start tracking your live orders as it reaches you. Experience the next level of food ordering.</h6>\n <button type="button" class="btn btn-warning" ng-click="vm.showSignin(\'#signUpModal\')" data-gtm-element="login_5">Login Now!</button>\n </div>\n </div>\n </div>\n </div>\n <!-- CREATE PASSWORD -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="createPassword" id="createPassword" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n <h4 class="modal-title" id="gridSystemModalLabel">Create Password</h4>\n </div>\n <div class="modal-body">\n <form class="material" name="createPassword" ng-submit="vm.isValidFields([\'phonenumber\', \'password\']) && vm.createNewPassword(\'Password Created.\')" novalidate>\n <div class="align-center">\n <div>Your number is verified.</div>\n <div class="dim-text">Please set a new password for future login.</div>\n </div>\n <div class="group has-value">\n <input ng-model="phonenumber" type="text" required disabled="disabled" />\n <span class="highlight"></span>\n <span class="bar"></span>\n <label>Phone Number</label>\n </div>\n <div class="group" ng-class="{\'error\': error.newPassword}">\n <input ng-model="password" type="password" />\n <span class="highlight"></span>\n <span class="bar"></span>\n <label>Enter new password</label>\n <span class="error-msg">{{error.newPassword}}</span>\n </div>\n <hr>\n <button type="submit" class="btn btn-default submit" ng-class="{\'progressing disabled\': progressing}" ng-disabled="(!password || progressing)"><span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">Save & SignIn</span></button>\n </form>\n </div>\n </div>\n </div>\n </div>\n <!-- CREATEFORGOTPASSWORD -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="createForgotPassword" id="createForgotPassword" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body">\n <form class="material" name="forgotPassword" ng-submit="vm.isValidFields([\'phonenumber\', \'password\']) && vm.createNewPassword(\'Password Changed Successfully.\')">\n <div class="popup-header">\n <h4 class="m0">Your number is verified.</h4>\n <h6>Please enter a new password.</h6>\n </div>\n <div class="col-md-12 box phone-box no-pad">\n <input type="text" class="popupinput form-control" id="phoneNumberField" ng-model="phonenumber" placeholder="Phone Number" required disabled="disabled">\n <span for="phoneNumberField" class="left icon-swgy-mobile" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></span>\n </div>\n <div class="col-md-12 box password-box no-pad" ng-class="{\'invalid\': error.newPassword}">\n <input type="password" id="passwordField" class="popupinput form-control" ng-model="password" placeholder="Enter new password" ng-keydown="(error.password = \'\')">\n <span for="passwordField" class="left icon-swgy-password" rel="tooltip" title="hello" data-original-title="Password"></span>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.newPassword}}\n </div>\n </div>\n <div class="col-md-12 box action-box no-pad">\n <button type="submit" class="btn btn-success" ng-class="{\'progressing disabled\': progressing}" ng-disabled="(!password || progressing)">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">Change Password</span>\n </button>\n </div>\n </form>\n </div>\n <div class="modal-footer">\n <h4 class="m0"><strong>Already a member ?</strong></h4>\n <h6 class="login-details">Login now and start tracking your live orders as it reaches you. Experience the next level of food ordering.</h6>\n <button type="button" class="btn btn-warning" ng-click="vm.showSignin(\'#createForgotPassword\')" data-gtm-element="login_2">Login Now!</button>\n </div>\n </div>\n </div>\n </div>\n <!-- FORGOTPASSWORD(Enter number form) POPUP -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="forgotPassword" id="forgotPassword" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-pad">\n <div class="popup-header">\n <h4 class="m0">Forgot Password?</h4>\n <h6>We can help you, please enter your phone number</h6>\n </div>\n <form class="material" ng-submit="vm.isValidFields([\'phonenumber\']) && vm.forgotPassword($event)" name="signup" novalidate>\n <div class="col-md-12 box phone-box no-pad" ng-class="{\'invalid\': error.phonenumber}">\n <input type="text" class="popupinput form-control" id="phoneNumberField" ng-model="phonenumber" placeholder="Phone Number" ng-keydown="(error.phonenumber = \'\')" ng-change="vm.checkFieldInput(\'phonenumber\')">\n <span for="phoneNumberField" class="left icon-swgy-mobile" rel="tooltip" data-original-title="Mobile Number" data-placement="auto"></span>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.phonenumber}}\n </div>\n <!-- <label for="phoneNumberField" class="right glyphicon glyphicon-exclamation-sign" rel="tooltip" ng-show="error.phonenumber" data-original-title="{{error.phonenumber}}"></label> -->\n </div>\n <div class="col-md-12 box action-box no-pad">\n <button type="submit" class="btn btn-success" ng-class="{\'progressing disabled\': progressing}" ng-disabled="progressing">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">SUBMIT</span>\n </button>\n </div>\n </form>\n <div class="clearfix"></div>\n <div class="other-section">\n <h5 class="other-action"> <a ng-click="vm.showSignin(\'#forgotPassword\')">Cancel</a></h5>\n </div>\n </div>\n <div class="modal-footer">\n <h4 class="m0"><strong>Not a member yet ?</strong></h4>\n <h6 class="signup-details">Join the <b>Swiggy</b> family and wait no more, when you are hungry.</h6>\n <button type="button" class="btn btn-warning" ng-click="vm.showSignup(\'#forgotPassword\')">Signup Now!</button>\n </div>\n </div>\n </div>\n </div>\n <!-- VERIFICATION MODAL/FORGOTPASSWORD/ENTER_OTP -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="verification" id="verification" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-pad">\n <div class="popup-header">\n <h4 class="m0">Verification Message Sent</h4>\n <h6>Please enter the OTP that was sent to your mobile</h6>\n </div>\n <form class="material" ng-submit="vm.isValidFields([\'otp\']) && vm.verifyOTP(verificationSuccessCallback)" name="signup" novalidate>\n <div class="col-md-12 box otp-box no-pad" ng-class="{\'invalid\': error.otp}">\n <input type="text" class="popupinput form-control" id="otpField" ng-model="otp" placeholder="Enter OTP" ng-maxlength=10>\n <span for="otpField" class="left icon-swgy-key" rel="tooltip" data-original-title="OTP" data-placement="auto"></span>\n <span class="error-icon glyphicon glyphicon-exclamation-sign"></span>\n <div class="error-tooltip" ng-hide="false">\n <div class="up-arrow"></div>\n {{error.otp}}\n </div>\n </div>\n <div class="col-md-12 box action-box no-pad">\n <button type="submit" class="btn btn-success" ng-class="{\'progressing disabled\': progressing}" ng-disabled="progressing">\n <span ng-class="{\'icon-spin icon-swgy-sync\':progressing}"></span>\n <span ng-hide="progressing">SUBMIT</span>\n </button>\n </div>\n </form>\n <div class="clearfix"></div>\n <div class="other-section" ng-show="showVerifyViaCall">\n <h5 class="other-action">Didn\'t receive message? <a ng-click="vm.verifyViaCall()">Verify via call</a></h5>\n </div>\n </div>\n <div class="modal-footer">\n <h4 class="m0"><strong>Already a member ?</strong></h4>\n <h6 class="login-details">Login now and start tracking your live orders as it reaches you. Experience the next level of food ordering.</h6>\n <button type="button" class="btn btn-warning" ng-click="vm.showSignin(\'#verification\')">Login Now!</button>\n </div>\n </div>\n </div>\n </div>\n <!-- VERIFICATION SUCCESSFUL -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="verificationSuccessful" id="verificationSuccessful" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-footer vertical-flex">\n <h4 class="swgy-green">{{verificationHeading}}</h4>\n <div>{{verificationSubHeading}}</div>\n </div>\n </div>\n </div>\n </div>\n <!-- SignUpThankyou -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="signupThankYou" id="signupThankYou" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-footer vertical-flex">\n <h4 class="swgy-green">Verification Successful!</h4>\n <div>Thank you for signing up.</div>\n </div>\n </div>\n </div>\n </div>\n <!-- VERIFICATION VIA CALL -->\n <div class="modal fade zoom" role="dialog" aria-labelledby="verifyViaCall" id="verifyViaCall" tabindex=\'-1\' modal-backdrop>\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-if="!isUnavoidable"><span aria-hidden="true">×</span></button>\n </div>\n <div class="modal-body no-footer vertical-flex">\n <div class="popup-header">\n <h4 class="m0" ng-class="{\'swgy-red\': callAuthVerifyTimeExpired}"> {{verifyViaCallStatusHeader}}</h4>\n <h6 ng-hide="callAuthVerifyTimeExpired">We are trying to reach you via call</h6>\n </div>\n <div class="call-icon" ng-hide="callAuthVerifyTimeExpired">\n <i class="icon-swgy-call-in"></i>\n </div>\n <div class="remaining-time-container" ng-hide="callAuthVerifyTimeExpired">Calling you on mobile, time left: <span class="remaining-time"></span></div>\n <div class="call-failed" ng-show="callAuthVerifyTimeExpired">\n We were unable to verify your number.\n <br>Please try again later.\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'},function(e,n,t){(function(a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function s(e,n,t){function a(){setTimeout(function(){i=parseInt(s/60,10),o=parseInt(s%60,10),i=i<10?"0"+i:i,o=o<10?"0"+o:o,n.textContent=i+":"+o,--s<0?t():a()},1e3)}var i,o,s=e;a()}function r(e){return null===e||void 0===e}Object.defineProperty(n,"__esModule",{value:!0});var l=function(){function e(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(n,t,a){return t&&e(n.prototype,t),a&&e(n,a),n}}(),d=t(50),c=i(d),u=t(4),p=(i(u),function(){function e(n,t,a,i,s,r,l,d,u,p,g,m){o(this,e);var f=this;f.name="login",f.$scope=n,this.$element=t,this.$http=u,this.$cookies=m,this.$timeout=g,this.CartService=d,n.isMobile=App.isMobile,n.error={},n.errorMsg="",n.isLandingPage="true"===r.islandingpage,n.isLoggedIn=App.isLoggedIn||!1,n.isLoggedIn&&(n.userName=App.userName),"checkout"===Swiggy.pageType?(n.isUnavoidable=!0,n.options={backdrop:"static",keyboard:!1}):n.options={backdrop:!0,keyboard:!0},n.$on("SHOW_SIGNIN",function(){f.showSignin()}),s.$on("$locationChangeStart",function(e,n,t){n!==t&&(c.default.includes(t,"restaurants")&&c.default.includes(n,"restaurants")||(i.location.href=n))})}return l(e,[{key:"logIn",value:function(){var e=this,n=this.$scope;n.progressing=!0,this.$http.get("/api/auth/signin-check?mobile="+n.phonenumber).then(function(t){var a=c.default.get(t,"data");c.default.isEmpty(a)||(n.progressing=!1,n.errorMsg="",n.error={},a.error?(n.error.phonenumber=a.statusMessage,n.signInChecked=!1,"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","loginCheck",a.statusMessage,{})):a.data.registered?a.success&&!a.data.active?(n.error.phonenumber="Account suspended. Please contact support@swiggy.in",n.signInChecked=!1):a.success&&a.data.registered&&!function(){var t=a.data.passwordEnabled,i=a.data.verified;t&&i?e.signIn():(n.progressing=!0,e.$http.get("/api/auth/sms-otp?mobile="+n.phonenumber).then(function(a){if(n.progressing=!1,c.default.get(a,"data.success")){"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","smsOTP","success",{});var i=t?function(){return window.location.reload()}:e.showCreateForgotPassword;e.showVerification(i,"#signInModal"),n.showVerifyViaCall=!1,e.$timeout(function(){n.showVerifyViaCall=!0},3e4)}else n.error.phonenumber="Oops!! Something went wrong", "1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","smsOTP",c.default.get(a,"data.statusMessage"),{})}))}():(n.error.phonenumber="Sorry, your mobile number is not registered with us.",n.signInChecked=!1,"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","loginCheck",a.statusMessage,{})))})}},{key:"signIn",value:function(){var e=this,n=this.$scope;n.progressing=!0,this.$http.post("/api/auth/signin",{mobile:n.phonenumber,password:n.password,_csrf:App.csrfToken}).then(function(t){var a=c.default.get(t,"data");c.default.isEmpty(a)||(n.progressing=!1,a.error?(n.progressing=!1,n.error.password=a.statusMessage,"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signin",a.statusMessage,{})):("1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signin","success",{}),e.resetErrors(),e._updateServerCart(function(){return window.location.reload()})))})}},{key:"signUp",value:function(){var e=this,n=this.$scope,t={mobile:n.phonenumber,name:n.fullname,terms:n.acceptTerms,email:n.email,password:n.password,_csrf:App.csrfToken};n.progressing=!0,this.resetErrors(),this.$http.post("/api/auth/signup",t).then(function(t){n.progressing=!1;var a=c.default.get(t,"data");c.default.isEmpty(a)||(a.error?(a.error===!0?n.errorMsg=a.statusMessage:(n.error.phonenumber=a.error.mobile,n.error.email=a.error.email,n.error.password=a.error.password,n.error.acceptTerms=a.error.terms,n.error.fullname=a.error.name),"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signup",a.statusMessage,{})):a.success&&(e.resetErrors(),e.showVerification(e.thankYouForSigningUp,"#signUpModal"),n.showVerifyViaCall=!1,"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signup","success"),e.$timeout(function(){n.showVerifyViaCall=!0},3e4)))})}},{key:"verifyOTP",value:function(e){var n=this,t=function(){"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","otp","success",{});var t=function(){return n.hideModal("#verification",null,e)};n._updateServerCart(t)};this._callVerifyOTP(t,e)}},{key:"_callVerifyOTP",value:function(e){var n=this.$scope;n.progressing=!0,n.error.otp="",this.$http.get("/api/auth/otp-verify?otp="+n.otp).then(function(t){n.progressing=!1;var a=c.default.get(t,"data");c.default.isEmpty(a)||(a.error?(n.error.otp="Invalid OTP","1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","otp",a.statusMessage,{})):a.success&&e&&e(a))})}},{key:"sendOTP",value:function(){var e=this,n=this.$scope;n.progressing=!0,n.error.phonenumber="",this.$http.get("/api/auth/sms-otp?mobile="+n.phonenumber).then(function(t){n.progressing=!1;var a=c.default.get(t,"data");c.default.isEmpty(a)||(a.success?(n.showVerifyViaCall=!1,e.$timeout(function(){n.showVerifyViaCall=!0},3e4),e.hideModal("#forgotPassword",null,function(){e.showVerification(e.showCreateForgotPassword)})):a.error&&(n.error.phonenumber=a.statusMessage))})}},{key:"showVerificationSuccessful",value:function(e,n){var t=arguments.length<=2||void 0===arguments[2]?"":arguments[2],a=this.$scope;a.verificationHeading=n,a.verificationSubHeading=t,this.$element.find(e).modal(a.options);var i=function(){return window.location.reload()};this._updateServerCart(i)}},{key:"createNewPassword",value:function(e){var n=this,t=this.$scope,a={password:t.password,mobile:t.phonenumber,_csrf:App.csrfToken};t.progressing=!0,this.$http.post("/api/auth/set-password",a).then(function(a){t.progressing=!1;var i=c.default.get(a,"data");c.default.isEmpty(i)||(i.error?(t.error.newPassword=i.statusMessage,"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","setPassword",i.statusMessage,{})):i.success&&(n.hideModal("#createForgotPassword"),"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","setPassword","success",{}),n.showVerificationSuccessful("#verificationSuccessful",e)))})}},{key:"pollCallAuthVerify",value:function(e){function n(){i.$timeout(function(){i.$http.get("/api/auth/call-auth-verify").then(function(e){c.default.get(e,"data.success")?o():a.callAuthVerifyTimeExpired||n()})},1500)}var t=this,a=this.$scope,i=this,o=function(){"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","call-verify","success",{});var n=function(){return t.hideModal("#verifyViaCall",null,e)};t._updateServerCart(n)};n()}},{key:"verifyViaCall",value:function(){var e=this,n=this.$scope;n.progressing=!0,this.$http.get("/api/auth/call-auth").then(function(t){n.progressing=!1,c.default.get(t,"data.success")?(e.hideModal("#verification","#verifyViaCall"),n.verifyViaCallStatusHeader="Verifiying via Call",n.callAuthVerifyTimeExpired=!1,s(90,e.$element.find("#verifyViaCall .remaining-time")[0],function(){n.callAuthVerifyTimeExpired=!0,n.verifyViaCallStatusHeader="Verification Failed!",n.$apply(),e.$timeout(function(){e.hideModal("#verifyViaCall")},5e3)}),"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","callAuth","success"),e.pollCallAuthVerify(e.$scope.verificationSuccessCallback)):c.default.get(t,"data.error")&&"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","callAuth",t.data.statusMessage,{})})}},{key:"logOut",value:function(){var e=this,n=this.$scope;n.progressing=!0,this.$http.post("/api/auth/logout",{_csrf:App.csrfToken}).then(function(n){c.default.get(n,"data.success")?(swgyStorage.removeItem("curDelLoc"),swgyStorage.removeItem("recent_searches"),swgyStorage.removeItem("cartData"),swgyStorage.removeItem("dominosAddress"),e.$cookies.remove("latitude"),e.$cookies.remove("longitude"),e.$cookies.remove("lat_lng_place_name"),e.$cookies.remove("map_area"),e.$cookies.remove("delivery_address_id"),"1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signout","success",{})):("1"==Swiggy.options.is_ga_events_enabled&&"undefined"!=typeof ga&&ga("send","event","login","signout",n.data.statusMessage,{}),alert(c.default.get(n,"data.statusMessage","Oops! Something went wrong"))),window.location.reload()})}},{key:"showNewLoginBtn",value:function(){return["restaurants-new","collection-page","search-page","my-account","tracking","menu","checkout","regions-new"].indexOf(Swiggy.pageType)!=-1}},{key:"changeAcceptTerms",value:function(){var e=this.$scope;e.acceptTerms=!e.acceptTerms,e.error.acceptTerms=""}},{key:"showModal",value:function(e){var n=this,t=this.$scope.options||{};this.$timeout(function(){n.$element.find(e).modal(t)})}},{key:"hideModal",value:function(e,n,t){this.resetErrors(),this.$scope.progressing=!1;var i=this;this.$element.find(e).modal("hide").on("hidden.bs.modal",function(){a(this).unbind("hidden.bs.modal"),n&&"string"==typeof n&&i.showModal(n),t&&t.call(i)})}},{key:"showSignup",value:function(e){var n=this.$scope;this.resetFields(),this.resetErrors(),n.showVerifyViaCall=!1,e?this.hideModal(e,"#signUpModal"):this.showModal("#signUpModal")}},{key:"showSignin",value:function(e){var n=this.$scope;n.errorMsg="",n.signInChecked=!1,n.progressing=!1,n.error={},n.showVerifyViaCall=!1,this.resetFields(),e?this.hideModal(e,"#signInModal"):this.showModal("#signInModal")}},{key:"showVerification",value:function(e,n){c.default.isFunction(e)&&(this.$scope.verificationSuccessCallback=e),n?this.hideModal(n,"#verification"):this.showModal("#verification")}},{key:"thankYouForSigningUp",value:function(){this.hideModal("#verification"),this.showVerificationSuccessful("#signupThankYou")}},{key:"showCreatePassword",value:function(){this.showModal("#createPassword")}},{key:"showForgotPassword",value:function(){this.hideModal("#signInModal","#forgotPassword")}},{key:"hideForgotPassword",value:function(){this.$element.find("#verifyViaCall").modal("hide")}},{key:"showCreateForgotPassword",value:function(){this.showModal("#createForgotPassword")}},{key:"forgotPassword",value:function(e){e.preventDefault(),this.$scope.setPassword=!0,this.sendOTP()}},{key:"resetFields",value:function(){var e=this.$scope;e.phonenumber=e.fullname=e.otp=e.password=e.email=e.password="",e.acceptTerms=!1}},{key:"resetErrors",value:function(){this.$scope.errorMsg="";var e=this.$scope.error;e.phonenumber="",e.email="",e.password="",e.acceptTerms=!1,e.fullname=""}},{key:"isValidFields",value:function(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],n=this.$scope,t={phonenumber:{regex:/^\d{10}$/,message:"Please enter 10 digit Mobile Number"},password:{regex:/([^\s])/,message:"Please enter password"},fullname:{regex:/([^\s])/,message:"Please enter name"},email:{regex:/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,message:"Please enter a valid email address"},otp:{regex:/([^\s])/,message:"Please enter OTP"},acceptTerms:{equalTo:!0,message:"Please accept Terms & Conditions"}},a=!1;return e.forEach(function(e){var i=t[e]||{},o=n.error||{},s=!1,l=!r(i.equalTo)&&i.equalTo!==n[e],d=!r(i.regex)&&!i.regex.test(n[e]);(d||l)&&(o[e]=t[e].message,s=!0),a=a||s}),!a}},{key:"checkFieldInput",value:function(e){var n=this.$scope,t={phonenumber:{func:function(e){var n=e.replace(/[^0-9]+/gi,"");return n}}};e&&(n[e]=t[e].func(n[e]))}},{key:"_updateServerCart",value:function(){var e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0],n=this.$scope;n.progressing=!0,window.onbeforeunload=null;var t=swgyStorage.getItem("cartData");if(t){t=JSON.parse(t);var a={restaurantId:t.restaurantId,cartItems:t.cartItems,address_id:t.address_id};this.CartService.updateCart(a).then(function(){c.default.isFunction(e)&&e()},function(){c.default.isFunction(e)&&e()})}else c.default.isFunction(e)&&e()}}]),e}());p.$inject=["$scope","$element","$location","$window","$rootScope","$attrs","Cities","swgyCartService","$http","$q","$timeout","$cookies"],n.default=p,a(function(){a(".mobile-nav").click(function(e){e.stopPropagation(),a(".dropdown.mobile-dd").slideToggle("fast")}),a("body").click(function(){a(".dropdown.mobile-dd").slideUp("fast")})}),a(function(){a(".login-component form button[type=submit]").keypress(function(e){return!(e.which&&13==e.which||e.keyCode&&13==e.keyCode)||(e.target.click(),!1)})}),e.exports=n.default}).call(n,t(48))},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function i(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},s=function(){function e(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(n,t,a){return t&&e(n.prototype,t),a&&e(n,a),n}}(),r=t(50),l=a(r),d=function(){function e(n){i(this,e),this.$http=n,this.swgyCart=null,this.localCart=null,this.restaurantId=null,this.cartErrorMsg=null,this.switchRestaurantData=null,this.switchRestaurant={},this.statusCode=999,this.queue={data:null,modified:!1},this.lastItemInProcess={},this.addressId=null,this.restaurantCusines=[],this.freebieItems=[]}return s(e,[{key:"getCart",value:function(){return this.$http.get("/api/cart",{headers:{"Cache-Control":"no-cache","If-Modified-Since":"Mon, 26 Jul 1997 05:00:00 GMT"}})}},{key:"updateCart",value:function(e){return this.$http.post("/api/cart/update",{cart:e,_csrf:App.csrfToken})}},{key:"updateLocalCart",value:function(){if(this.swgyCart&&this.swgyCart.cart_menu_items&&this.swgyCart.cart_menu_items.length){var e=JSON.parse(swgyStorage.getItem("cartData"));e||(e={}),this.swgyCart.address&&(e.curDelLoc=this.swgyCart.address,swgyStorage.setItem("curDelLoc",JSON.stringify(this.swgyCart.address))),e.restaurantId=this.restaurantId,e.cartItems=l.default.map(this.swgyCart.cart_menu_items,function(e){return l.default.pick(e,["menu_item_id","quantity","variants","addons"])}),e.address_id=this.swgyCart.address_id,this.swgyCart.coupon_code&&(e.couponCode=this.swgyCart.coupon_code,Swiggy.couponCode=this.swgyCart.coupon_code),swgyStorage.setItem("cartData",JSON.stringify(e))}else swgyStorage.removeItem("cartData")}},{key:"triggerCartUpdate",value:function(e){if(this.queue.modified=!1,this.localCart={restaurantId:this.restaurantId,cartItems:[],address_id:this.addressId,flushFirst:this.flushFirst},this.flushFirst=!1,Swiggy.couponCode&&Swiggy.couponCode.length&&(this.localCart.couponCode=Swiggy.couponCode),this.localCart.cartItems=l.default.reject(this.queue.data,function(e){return 0==e.quantity}),swgyStorage.getItem("curDelLoc")&&(this.localCart.curDelLoc=JSON.parse(swgyStorage.getItem("curDelLoc"))),this.localCart.cartItems.length){if("1"==Swiggy.options.fb_pixel_enabled&&"undefined"!=typeof fbq){var n=JSON.parse(swgyStorage.getItem("cartData"));(l.default.isEmpty(n)||l.default.get(n,"restaurantId")!=this.restaurantId)&&fbq("track","AddToCart",{content_ids:this.restaurantId,content_type:l.default.first(this.restaurantCusines)})}swgyStorage.setItem("cartData",JSON.stringify(this.localCart))}else swgyStorage.removeItem("cartData");return e?this.$http.post("/api/cart/removereward",{_csrf:App.csrfToken}):this.$http.post("/api/cart/update",{cart:this.localCart,_csrf:App.csrfToken,cqa:!!l.default.get(App,"catalogQa")})}},{key:"resetCart",value:function(e){this.restaurantId=e.id,this.restaurantCusines=e.cuisine,this.localCart=null,this.swgyCart=null,this.statusCode=999,this.flushFirst=!0}},{key:"getCartItems",value:function(){var e=this.queue.data;return e||(e=this.swgyCart&&this.swgyCart.cart_menu_items&&this.swgyCart.cart_menu_items.length?l.default.cloneDeep(this.swgyCart.cart_menu_items):[]),e}},{key:"getUniqueItemId",value:function(e){var n=e.menu_item_id.toString();return e.addons=e.addons||[],e.addons=l.default.sortBy(e.addons,function(e){return parseInt(e.choice_id)}),e.addons&&l.default.each(e.addons,function(e){n+="a"+e.choice_id}),e.variants=e.variants||[],e.variants&&l.default.each(e.variants,function(e){n+="v"+e.variation_id}),n}},{key:"compare",value:function(e,n){return this.getUniqueItemId(e)==this.getUniqueItemId(n)}},{key:"findItemById",value:function(e,n){if(!n){if(!this.swgyCart||!this.swgyCart.cart_menu_items)return null;n=this.swgyCart.cart_menu_items}var t=null,a=this;return l.default.each(n,function(n){if(a.getUniqueItemId(n)==e&&!t)return t=n}),t}},{key:"paiseToRupee",value:function(e){return 0==e?"0.00":e/100}},{key:"setSwgyCart",value:function(e){this.swgyCart=o({},e,{cart_menu_items:l.default.filter(e.cart_menu_items,function(e){return"Freebie"!==e.rewardType})}),this.freebieItems=l.default.filter(e.cart_menu_items,function(e){return"Freebie"===e.rewardType})}}]),e}();d.$inject=["$http"],n.default=d,e.exports=n.default},function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=function(e,n,t){var a={value:!!angular.element(document.body).hasClass("mWeb")};a.setValue=function(n){this.value=n,t(function(){e.$apply(function(){e.$emit("mWeb",n)})})},a.getValue=function(){return this.value};var i=function(){var e=angular.element(document.body);n.innerWidth<992?e.hasClass("mWeb")||(e.addClass("mWeb"),a.setValue(!0)):e.hasClass("mWeb")&&(e.removeClass("mWeb"),a.setValue(!1))};return App.isMobile||a.value||angular.element(document.body).hasClass("restaurants")||(n.addEventListener("resize",i,!1),angular.element(document).ready(i)),a};t.$inject=["$rootScope","$window","$timeout"],n.default=t,e.exports=n.default},function(e,n,t){e.exports=t(2)(9)},function(e,n,t){(function(n){e.exports=n.$=t(78)}).call(n,function(){return this}())},function(e,n,t){(function(n){e.exports=n.jQuery=t(48)}).call(n,function(){return this}())},function(e,n,t){function a(e,n){function t(){this.$get=["$window",function(n){return e}]}function o(e){e.decorator("$exceptionHandler",["Raven","$delegate",r])}function r(e,n){return function(t,a){e.captureException(t,{extra:{cause:a}}),n(t,a)}}n=n||window.angular,n&&(n.module(s,[]).provider("Raven",t).config(["$provide",o]),e.setDataCallback(i(function(e){return a._normalizeData(e)})))}var i=t(80).wrappedCallback,o=/^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.*?)\n?(\S+)$/,s="ngRaven";a._normalizeData=function(e){var n=e.exception;if(n){n=n.values[0];var t=o.exec(n.value);t&&(n.type=t[1],n.value=t[2],e.message=n.type+": "+n.value,e.extra.angularDocs=t[3].substr(0,250))}return e},a.moduleName=s,e.exports=a},function(e,n,t){e.exports=t(2)(19)}]);
© 2017 -
ZeroByte.ID
.