�PNG  IHDR����Q�gAMA�� �a cHRMz&�����u0�`:�p��Q<�bKGD�������gmIDATx���w�U���ﹻ�& �^C��X(�����J I@� ���"% (** B�X� �+*�i��"]j(IH�{~�R)��[��~��>h��{�}g�y�)I�$I��j��� ������.I�$I�$�ʊ�y@�}x�.�: �$I�$I��i}��V�Z�����PC)I�$I��F� ����^��0ʐJ�$I�$�Q^���}{�"���r�=��OzI��$gR�ZeC.�IO����vH eK��X� �����$IM�px��sk�.��쒷/��&���r�[޳����<���v|�� ��.I���~�)@������$�up��dY�R�����a�$I �|�M�.�e ��Jaֶ�pS�Y�R��6j��>h�%IR��ز�� �i�f&���u�J)������M�����$I vL���i���=�H;�7UJ�,�]�,X��$I��1��AҒ�J����$ X�Y� XzI��@G����N��ҥR���T)E��@��;��]K*�M�w;#�5_�wO�n~\ DC&�$(A�5 �R�R��FkvIR���}�l��!�RytRl;��~^Ƿ�Jj� �اy�뷦BZ��Jr����&ӥ�8�P�j��w~�vn�����v ���X���^�(I;�4�R=�P[�3]J�,�]ȏ�~��:�3�?��[��� ��a��&e)`�e*����P[�4]�T��=Cq�6�R[ ~ޤ����r�XR Հg(�t�_HZ�-Hg �M�$�ãm�L5�R� �u��k�*`%C-�E6/����%[�t X.{��8�P9Z�������.vk����XŐKj����gKZ��Hg�(����aK9ڦ��mKj��Ѻm�_ \�#�$5�,)- � �61eJ�,��5m|� ��r�'��=��� ��&ڡd���%-]J �on�� X���m|�{ ��R�Ҟ����e $eڧY X��Y�����rԮ-a�7�RK�6h���>n$5A�V�ڴ�i��*�ֆ�K)���mѦ���tm�r�1p| �q:흺,)O�����i��*�ֺ�K)���ܬ�֦����K-5�r�3�>0ԔHj��Jئ�EZ��j�,%��r�e��~�/��z��%j�V��M��ڸ�mr��t)��3]J�,���T ��K֦O�vԒg��i�i��*�����bK�i�NO~�%�P��W���0=�d��i�i�������2�t�J9��J����ݕ�{�7�"I P��9�JK�Tb�u,%��r���"�6�RKU��}�Ij�2����HK�Z�XJ�,妝�� X��Y�����rP��� ެ�2�4�c��%i��^���IK|.H�,%��r�b���:XR�l��1X��4Pe/`����x��&����P��8�Pj��28��M��z���s��x���2���r�\���zR��P�z�4J����}�y���P[g=�L)��� .Q[�6Rj�Wgp ��FI�H�*-`I�����M�RaK9T��X��c�q�����*I� y���[j��E>cw%��gL�R���ԕi�F�Cj�-��ď�a`������#e~���I�� j�,%��r�,)?[gp �FI˨���mn��WX#��>mʔ X�A��� �DZf9,�nKҲz�����I��Z�XJ�,�L#��k�i��P�z�4JZF�����,�I,`���61%�2s �$���,�VO��Ϛ2��/U��FJ�fy��7����K�> X�+�6� S�TX����Ie�����JI���Lz�M�fKm ��L�RaK9�%|��4p9L�w�JI��!`N����sia���zĔ)������%-� X��M���q�>�pk�$-$�Q���2����x#�N� ؎�-�QR��}ᶦHZ�ډ��)�J�,�l#��i@y�n3������L��N`���;�nڔ X�����u����X5��p��F)��m|��^�0(��>B�H���F9(c�զE��er��JI rg��7 ��4I@z�0\�JI��������i�䵙���RR��0�s;�$�s6eJ�,�`n �䂦���0�a�)S)�A������ ���1eJ�,堌#�6�35R��I�gpN��Hu������TH���_S���ԕqV�����e `� ��&S)���>�p;S$魁eKI����uX��`I�����4��춒�o}`m�$1"��:�PI���<[�v9�^�\p��TJj�r�iRŭ ��P{#�{R2,`)e-`mgj�~�1�ϣ�L��Kam�7�&U\j�/�3mJ�,�`F��;M��'�䱀�� .KR#��)y�h�Tq�;p���cK9(���q!w�?����u�RR,n.yw�*UXj#�\�]ɱ���(q�v2=R���q����f����B#i��Jm�m�L����<]�Y����͙�#�$5� ��u�TU�7��Ӧ�X�R+q�,`I}����qL�����'���`��6�K�ͷ�6���r�,�]����0S$-���� ��[RKR3���o��iRE����|�nӦ�X�R.�(i�:�L��D�L��TJj�Y��%o�:����)�����6���r�x���zҒ��q��TJj��h㞦I���.�$Y�R.ʼ�n�GZ�\ֿ��f:%5�5 ��I�˼!�6����dK�x��m��4E�"mG�_�� �s? �.e*��?L�RfK9��%�����q�#�uh$�)�i���3U�����L�RfK9yx��m܌b�j�����8��4���$�i��1U��^@Wbm��4uJ�,�����Ҫ�A�>���_Ij�?1�v�3�2����[�gL�R��D��9�6�o�Ta�R���׿��N7%�����L�2�� NT�,`)7�&�Ɲ��L�*꽙��yp���_$���M�2�#�A�����S�,`)7�$r��k�TA���29�_���Iy�e"�|/0�t)�$�n X�T2���`Y���J���;�6��J�x"�����.e�<�`�����$)� P�I$��5�V4]���29���SRI>�~�=@j�]��l�p�2`K9Jaai�^" Ԋ��29�O�RI%��:X�V5]J��m��N9���]�H;1U���C39���NI%���Xe78�t)a��;���O��i Ҙ�>X�t�"~G>�_mn:%���|~ޅ_�+]�$�o���)�@��ǀ{hgN;�IK�6�G&�rp�)�T2�i�୦K�Ju���v*���T��=�T��O�SV�>(��~D�>d�����m�,I*��Ɛ�:���R�#��ۙNI%��D>G��.n��$�o��;�+#��R�R��!��.e�U��˽���TRI�2��8�t)1L��WϚ>IJ�a3�oF��b��u&���:�tJ*��(F7��y�0�Z�R ^�p���'Ii� ����L�24x�| X��RI%�ۄ>S1]J�y��[z��L�$�adB7��.eh4��%���%�누>W�E���Tf+3�����IR:�I�3Xה)3אO�ۦSR�O'�ٺ�)S�}"��q�O��r[B7�ϙ.edG�)^E���TR"R��t��R�ݜh���0}������<�S����ɧx�.6,)�&���)SI�p��j�'I��?���A�L�"���L����.\TZV�N���!�'I�Y.��pAS����5}� �TRbNL�3��”�d�����b�e��)��4]��Mg/S���Z{ni����,)=k����Д�d��p��ǦO��uLb7�ߛ2%lO�}u�)���K��]le�T�P��j�eS(I�Z���ִ��R�^eJ%%*�/\ Ke�̈́�-O�M�$����|.5eJ��o�s)^]oJ%%,�㚃R� <�p��LS��� �*����`GӦ�tdt<�5���o'��/�6�٧�� _��BIJ�kH��_�6%d ���rQ�b�gZ%%n�ڍ9o1mj�U�g���JR>�L�F�VӦD�B^k_���J�Dj��\����=�L���S(I������v─a���T�eZ%e�U����A�M-�0;�~˃@�i��|l�� �@S���4y���7��2��>���sX-vA�}�ϛBI���!ݎߨ����W�l�*)3{'�Y|�iS�lEڻ(��5�����K��t��SI�$��Uv0��2���,~��ԩ~�x��;�P��4��ց��C�r�O%ty�n4��25:���KM��l�D� ^���4JR������xS��ه�F_}شJ�T�S��6uj�+ﷸk�$e���Z�O%�G�*^�V2�����u3E�Mj�3��k%)ok��I]d�T����)�UR�K���DS� �7�~�m@�TJR�~�荪�f�T"�֛L�� �\���s��M��� �-0��T �K�f�J��z+��n�إK�r� �L�����&j��(��)�[�E&I����� ߴ>e �FW�_�kJR�|!���O�:5�/2跌3��T-�'|�zX�� r�yp0��J����S ~^�F�>-�2�< �`*%�ZFP�)����bS��n"���L�� :)���+pʷf(pO���3��TMW$~����>@~ū:����TA�IsV�1}�S2�<���%��ޟ�M�?@�iT ,E�ū�oz%i�~��g�|`wS(�]�oȤ��8��)�$�� �� ntu`өe�`6y�Pl� Iz�MI{�ʣ�z����ʨ�� �)IZ�2��= ld:5+���請M�$-ї���;�U�>_���g��sY��$Á����N�5��W���z�W�fIZ��)�-��y�u�XI�fp���~S*IZ��dt�;�t�>K�ū��KR�|$���#Lc�Ԁ+2�\�;kJ��`]�Y���ǔ��M1B)��U�bG"IRߊ���<x����ܾ��ӔJ�������0�Z����=��'�Y��嵤����� Le�v�e�g��)�$��z���n����V-º����^�3Ւ�o�f��#0�Tfk�^�Z�s[�*I꯳3{���)�ˬ����W�4Ւ4 �Odp��bZ��R���S��|�*I� �����5��5�#��"�&�-IvT&��/��윚Ye:��i�$ �9��{�Lk�u�R���e�[��I~�_�\��ؠ%�>�GL�$iY�8 �9ܕ��"�S���`kS.I�l���C;Ҏ4���x&�>�u_0J��Lr����<��J�2�(^��$5��L� s�=Mg�V� �~�,Ij�u��>�� 7��r2�)^=G���$�1:��3�G< �`J�3�~�&IR%�� 6���T�x�/�rIj���3�O< �ʔ&#f�_yX��J�i�ގN��Sz;�� T�x�(��i���8%���#���4 �~�AS+Ij��e���r�I�U�rIj�����3�62��v8��8�5�+Ij�A�h�K__5���X��%�n�V%Iͳ-y��|7��XV��2��v4���fzo��_6��8���"�S/I-qbf��;� Lk��F�)K���SM�$���� Ms�>K� W�N���V����}�^`��-�큧3����2Œ�Vؙ�G��d��u�,^�^m�%��6���~��N�n�&�͓��3Œ�V�Z����MsRpfE�W���%I�wd���ǀ�Lm[��7���W&�bIR��L�@Q�|�)*�� ����i ImsI�����MmKm�y��V`�i�$��G+R� 0�t�V'����!���V�)֏���28����v���U�7͒�v���H����ꦼt���x�ꗞ�T ;S���}��7�M�f���+��fIR���H��N��ZUk�U�x5��SA�Jㄌ�9��Mq��μ���AIRi|�j�5��)o����*^���'<$�T����w���I�1��hE�U�^c�_�j�?���Е$%d`z� �c�y�f��,X���O IJ�nTg����A�� �����U�XRD��������� ���}�������{�H�}��^�S,P5��V��2���\����Xx`p�Z����|Y�k:����$e�� ��~ ��@nW�L�.j�+��ϝ���Y��b퇪��bZ� �BV�u�)�u�������/IJ_ �1�[�p.p60�bC�� >|X����9�1P�:��N\�!�5�qUB}5�a5ja `ub��c�VxYt1N�0�Z����z���l4����]7­gKj�]�?�4ϻ� ���*���[��b��g$)+À���*x쳀ogO$~,5� �ز���U��S�����9���� lq3�+5�mgw@��n�p1��sso Ӻ=����|�N6 /�g(�Wv7U��;��zωM=��wk�,0���u��T��g�_��`_�P`�uz?�2�yI��!b��`�k���ĸSo��+Q���x%!\��ο����e����|�އ���ԁK��S-s6��pu���_����(ֿ�$�i+��+�T8=�e�Y;��� �צ��P�+p��h�x��WQ���v���*���|p1��. ��ά. XRk�IQ�Y�P,���d�r�Z�� |����� ��������B�%������w��P|�S5`��~́@�i�޾��� E�;��Չaw{o'�Q��?%�iL{u D��?���������N1��B��D������!�o��w�����PHRe��FZ�*�� ���k�_-~����{����E9�b-��~P�`��f��E{AܶB�J�A�FO��� wx6��R�ox�5 K5����=�W����we�������hS8 (��J���C���l�J���~ p+���F���i�;ŗo+��:�bD�#g(��C��"�wA^�� r.�F�8L;�dzd�IH�U�X��݆�Ϟ�X�g� �)I�F����q��e�m��%I�4�d�j&pp�T�{���'{�HO���x�( Rk���6^C�٫����O.�)�3�:s(��۳(Z�?~ٻ8�9�zmT"�PL�tw䥈��5��&b<8GZ-�Y��&�K�?e8,`I��6���e�����(֍x�b8�3 � `���r�����zX�j��)F�=l($I�j� �2*�(F�?h(/9ik:��I`m#�p3�Mg���L�aKj�c�/U��#�n5����S�# �������m(^)=y=đ�x8Ŭ����I���[U]����~S�цA�4�p���$-F �i(��R�,�7C�x�;X��=�c����I��>���{���Km�\ �o(T��v�2������v�x�2q�i����iDJ�N�,���Ҏ����!1f� �5quB�j��1��!�8 �r���D�Fd(���!���W���Ql��,g�S��k����L��1Bx��g'�'�՞�^���ǘ;�p����Q ���P(c���_ IRu����j�g(�W�z ����b�s�#�P�­rz�>���� k�� c&nB=�q+��ؔX���n#r5����)co���*Ũ�+G��?7��<�� |�P�����Q��ӣ'�G�����`uO�d>%M�ct�z�#�� Ԫ�����ڞ�&�7��CaQ��~N�'��-P�.�W`Oedp0�3C!IZc�I�AMP��U�ۀ5�J�<��\u~+�{�9�(Fb�b���y�A�e�B����hOS���ܳ�1� b��È���T�#��ŠyDžs�����,`5�}��D���C�-�`��̞%r&�ڙa��8�7Q����W����W����p6e7� ��Rϫ/�o����Y� ꇅ N��ܶ�ը��tc��!��L���A ���T�7�V4�J�sū� I-�0����P��x�z7�QN�F���_�i����Z�g�úW�k�G���83� ���0e�Wr9 X����]㾮݁#���Jˢ C�}0��=3�ݱ��tB��i�]�_ ��&�{�{[/�o[�~ \q�鯜�0��0��٩���|��cD��3�=4��B_b� ���RY��b$ó�BR���sf�&������l�L�X#M*��C����_�L܄:gx�)WΘs���GSb���u��L ���rF$9�'�;\4�Ɍ�q�'�n�[%p.�Q`�������u ��h���N�b`eCQyQ|���l�_���C>L���b꟟3h��Sb�� �#��x��N��xS���������s^�� 88�|�Mz�)��}:�](vbۢ�amŖ࿥� ��0)Q����7���@�0���=?^k(*�J�����}�3ib�kF�n H�jB׻���NO���� �z�� �x}�7p 0�t��f����D����X�.lw��gȔ��h�Ծ�Ų� }6�g� E� |�Lk��LZ���t��eu+=���q���\I�v0쮑�)��Q�ٵpH8�/2?Σ�o�>�J�vpp��h�������o~�f>%bM��M���}���\�//��":�PT��c(v���9v���!��g�ո��Q ��)��U�fV��G��+!� ��35{=�x\�2�+��k�i,y$���~A1��iC�6#)v��C�5�^>�+gǵ�@1�Hy٪7����u;p ps�ϰ�u���/S�� <��aʸ����Gu't�D1�ԝI��<��p��g|����6�j��'p:�tպ�h��X�{�o(7v],��*�}��6�a_����<�u`��Ȯ�r.E�;ˑ�q�io�p�R��"������26�2E�8j�� ]����U��鿍ǜ�v���D��,2���վ�8ϫ�:�e/^AQ����T�H{�WgRl���̊���2Yx���"1�Q�> �wX�Rk,O�]�Lܳ���~V<�����F���8��a��_g~�o.�XCD�?S�t���h���梫A�o�%���~K1ݵ��O1�LyZ�bJ�� E��Q���xpq�i�Cpv��a6��_�:�wejT����]����"����<��u`"���� 2>���o4��5rp"N5k��;�m���{���rZ�b������Φ${#)��`(��Ŵ�g�,;j���%�6�j���.�pyYT��?}-��kB������D���c3q����A`��N��WQ���ū2�0�/^A��Z�W%�N�Q��� ��MI�.��X#P��#����,^Eb�c&��?X�R tA�V�|Y���.�1����!�����؅�⨉ccww���>���i��v��l(J��T�~� �u`��ٵDm �q)���+���Ri�� x/�x��8cyFO�!�/���*�!/��&��,7�<.���N���,�������YDŽ�&ܑ�Q�F1�Bz��)F���P�ʛ�?5����d� �6`�����kQձ �λc�؎�%58�2��Y��&nD�_$Je4��>a��?��!� ��ͨ�|�Ȏ�WZ��S�s��v���8� �j����(�I��&��y�j� �Jb5��m��?��H������Wp��=����g}�G��3��#�|I��,5v珿�] H~�R3�@B��������[☉9Ox~��oMy�=J���;�xUVoj�� �b�U�s�l_��35�t-�(Ճɼ�RB7�U!�q��c��+�x�4�H�_�Q�o֮$[���GO<��4`��&č�\GO�c[�.[*�A�f%m��G/� ň�M�/�r ��W�/Nw~B1U3������J�?��P&���Y�� �)`�ѓ����Z�����1���p]�^l“��W#)lWZ�i����l�U�Q�u`��-����m|xĐ,������_�ƪ|9i:�_��{*(3G�ѧ}�Uo�D+�>m_�?V��Pۅ�15���&}2�|���/p�IOʵ�>���� G�Z9�cmíت�mnz��)yߐb���D�������� �>e}:�)� �r|@�R5q�V�S�����A�10�C%�E�_��'^�8c��������R��7O;�6�[���eKeP�������G������ϦX7�j���b}��OT�GO^j��n*媓����7n����GMC�� � ���t,�k31�R�b �(v�yܴ�ʭ�!��iTh8~�ZY�Z�p��(q��s���RL ?�b���}����c�Ũ�ʊGO^���!��rP�JO��1��5�MJ[��c&~������Z`"��ѓޔ����H1���C&����^|��Ш|�rʼ,�A�wĴ?�����b��5)�t��L��U��)F�|�� �&��g٣O]���oqSU����j���y(��x<��Ϳ3 ���.���FS�k���oYg�2� \_#w��j�{u'r�Q������>���o���;���%n�|�F�*�O�_��L�"�e�9um��Dds�����?.��fu�u����Qb��IW�z |4\0� s�b;�O�v��xOS�s�; G%����T4g��FR�u�rj���(֍ڑb �u�ԖK�D���u��1MK{���1^ q;�� �C=�6\8��F��R��艇�!���%\Y�Ô�U| �88�m��)֓��Nc��L�ve�� C�6z;��o&�X x5�9�:q���6�1�Z��(T����7���>C?�g�c�ļ�x�ѐ�� Z� ���o�o-�0�8j�ہ �x�,�`���'��� ��Ҕ���Oc��Rl��f��~���`�����jj�"�.N�v+���sM������_��]������Z�k��� �g( UOP���������y�εx%�pU����h�2�������(���@��il0���ݽ��QXxp�px-�N�S��( W�O+�轾 n��Fߢ����3M��<;z�)��FBZ�j����c�i��u�/�Q�oF�� �7R�¥ Z��F�L�F�~��#����ȣ��ߨ^<쩡�ݛк���v�џ)��)���M��E>ώ�x4�m#!-�m���!L;vv#~Y[��đ��K�����m����x�9.[,��U����FS �����C���VkZ ���+���ߟ�r�Y٧��IZd/�io�i$�%��͝ب_ֶX�3���ܫ��hNU �� Z����Z�g�k�=���]��=������b���b��JS[�w��j�U(��)���*I =ώ:}-蹞�l�Uj�:��1��}����M�W��m�=̛���� _�� ¾,8��{__�����m{_�P��V���K^n3�e����sw5�ӫh�#�$-�q=�A̟> ,^I}P�^�J$�qY~Q[ Xq���9�<�r�d�sߏǜs�#������%/���y����kKZ�������b��?� S�k�tc�񫝶L���&I ���W!�b �>{#�&�T.^����G��Vj�_���_R��K�p����n,b=`�ż����Y@�^՝��;z�{p�aV��Kk����QXj�/�)y� ��TI�c&F�;FB�G�7w����g� ZZD�G��!����x�� �r_�t��Ƣ!�}�i�/�V��=M����/��#��n��B8 Xx�Ы ^�@�CR�<{䤭����Y��CN��)�e���K��OSƟa $��&�g[i3�.C�6x�rOc���8�TI���;�o�� ��hH6�P�&L{�@�q��6�[���� �G��zp�^���71�j��(�l�`�J�}]���e6�X����☉#͕� ���׈$A�B1�Vj��h㭦IRs��qFBj�w�Q_7�Xk��>y"������N=�M�B0� ��,�C #�o6MR��c���0��|�$�)�ف����"1����!i���xY<���B��9mx�� ��`���,��t�A�>)5ػ�Q���?j��Q�?�cn�>Y�Z�e�� �Tis���v���h�#�� �GMމȇ���p�:���ԴVuږ�8ɼH��]C.���5C!UV;F`m�b��Bk��� ��L�TM�vP���ʍϤj�?��ԯ/Q�r1���N�B`9s"����s�� �TYs����z��� ��&�9S%U԰�> �{��<�ؿ���SM���xB��|H�\3�@!U�|�� �k']������$U�+>��� |�HHM����Lޢ�?��V9i�D!-�@��x�� �TI���î�%�6Z��*��9X�@HMW#�?��n�N� ,o�e6�?tQw��ڱ�.�]-����y����'�:mW�0#!�J82qF�jH -`�ѓ�&��M��0����u� Uγmxϵ��^-��_�\�]����)@0R���t.8�/?ٰ�C��Y]�x���}=sD3�o��j�ަ���Ы�N���uS%U��}Ԥw��HH�>ڗ�jܷ_3gN �����q7�[q���2�l���a���*����A�r���Ǔ��Ԗ+p�8���/��R��GM�� ]j�a����c�d(�JhWko�6��ڎb�j�]i���5���Bj�����3+�3�!\j��1�����U�Z���L��s��L�T�v8�HHmup<��U���\��GMމ�3�R+��w4R�����6�j� XW�M�T!��u(�*!��Pz�,����#���Sq���*�8?vww )kO���a��$�[&��?�*�bB�X� �@���%�����8�]�=���R�r)kO��w�0j��i��M�Tq�� ng$�2\�q�8f�:���e�N1�R�xr<��5 ������;��M��p^�@;��7]R��ꎾ�JtER�.�/(5�v3�R[�@=�h�l����?����l�@;���.���[]�Q*�Z\�4��"1P�'Y��w��x��# ���ǀg���{��5�i��_IUR���z�RɞsyS5q�E����=�@�Y���っ �����v�k��6 ��&��5�1E�o0�|�kp�c��#�j=`�D���WRU�����j̟���J'P� �����w2 �S� �v�:��p�g�3Rv�},�#�����8�b��Z~�&��(F�=�i�><�>gK�M���Jj����0�@H%��,����W�΃�7�R) "�>c�,����� x�ix������ј���^ ��aܖ>�H[�i.UI�Hc �U�1=y�W\���=��S*���G���R~�)AF���=�`�&�����2��h`�D�z���T��󑓶�����J+����?�W+}��C�%��P:|�0H���܆��}-�<;O����C[�~o.��$~��i�}��~�HQ�� �Tv�X������Έ�r=b}$��v����i�z�L��4�:�ȰT|4�~����*��!o�X�QR6��L�k+�#������t/g �lԁߖ����[��Jڶ_N$�k���������*"�.� ���x���s��xX���7jRVbA��A�ʯKҎ��U3����)�zS�NN �_�'��s�?f����)��6������X���!%s�s�A���kʱ>���qƷ�b ��h�g� %n���� �~p�1RE��GM���HH�=�������B�Jiy[<�5 ���ǁJҖ�����g�K���R��*�倳��e��~�HUy��)A���g,K)`�V�w6bRR:��q����L#\�r���cl��K��/�$�s�h�*$�� ������6�����덤�� ����KԖc� 3��Z�9��=�Ɣ�=o>�X � �Ώ�"1�� )a��`�S��JJ�6�k<��U�������-]�� b�m`��{r�y;����T���u��_GR5���*�%6�do�#XRg#���-!nl��$u�3��A�� L+Q{��9�x~�a-�|�H� �vbq[\�NJT%�]���rO8,��E�-F�����w)+?(Y{�Lz�n6����׀��?C������R�~�,)m�䎧�R�7���cww����qpW�ڳ=i.��U`Xf�F�b=�V��LJ��H^LI}��%�} ��|��w���� aG�$�,��^�R^�6 k2�^B�{7��t�������V�%@G�q� p�%R�zģN_ ��HHI[7�ֱ�>(��<�c e�{%kϊ����P�+��SL'�T�cM���J����WR���m ���ŏ�"�w)qc e�f�꒵i?��b7�b����(�'�"��2r%��������~�HUS�1���\<��(`�1�W����x��9�=�8HY9��m:X��1�8�b��g�����D1��u ���~|H��;K��-��U�ep�,,� C�1 RV.���M�R�5�άh����,�t��W�O8W���C�$ XRV�sQS]3G�J|�1��2����� [�v�M� ������:��k�#����~tH�3�0Rf-�����HYݺ-`I�9�%l�I��D�T�m\ ����S�{]��9�gO���ڒ�M���NCV\��G��*����2���J�R�Ũ;�R��ҏ^���ڽ�̱�mq�1E�u?�To�3I���)��y^��#�j�J�w���^�Ń�j��^�v����vl����B_��⋌�P�4x>0$�c>���K†A�ļ9s_V���jT��t0l�#������m��>E��-�,�,�x�,��-�W��)������سo&�9�6�R�E XR.6b���Xw�+)G���A�����E�v�L�)�͞K4�$p=�Ũ��i_ѱ�O�j��b�� HY����/���+@�θH9޼]�N�ԥ��%n�{����� �&zjT�?�� �Ty) s^�U��L�����lb�,�P�iTf�^���<À�]������� ��62R^V��7)S!nl�l��S�6~�͝�V�}�-=%*� ʻ>���G�� ���������D��nK��<��y��&>L����Py7'r=Hj���� ���9��V`[c"�*��^�8H��pc�����O�8�b�nU�`4���J��ȪA�Ƌ#��1_\ XϘH��PR���gi�k(�~G�~��0��D���A���A����_2�p�|�J�묭a����2���\N�C�r�]����M���_0 �^T��%e#����vD��^��%��x��y-n���}�-E�\�3�aS%�yN!�r_��{ �)s���A��w ���ڼp1pEAk�~v�<�:`'ӭ^�5 �����A�r���X�������OI驻��T �(��dk�)�_�\<��w���^��W�I��"�RFj3��V# ���M<,o�J��.H��#�\�SK���s]���� )��9> P��u�������A�*�B�Y�]����y�B�"�l�\�ey��� ��hH���*t��b�K)3��� IK�Z��򹞋X�jN�� �n� �*n>k�]��X�_��d�!�ry��BH� � ]��*R�� ��0(#'�7 ������%es9??��ښFC��,ՁQP��������j�����AR��J�\Ρw� �K��#��j���ah�g�w�;�2$�l*�)� ��%���Xq5�!U᢯�6Re] |�0����[�_�����_64�c�h�&�_}��i�L8K��Eg�Ҏ�7 M��/�\`|.p,�~`�a���=�BR?x�ܐrQ���8K� XR���2M�8�f ?�`s�gW�S%�"� ������Ԉ 7R%���$� N������}��?QL1|-э�ټwI�Z��%���pv�L���3Hk>,I����m�g�W���7{��E�� x�PHx�7�3R�����A�� ���@R�S�� CC���� �������!\ȟ���5I��XR^Z���xHл�$Q[��ŝ�40 (�>�+� �_C ���>���BR�t��<,T�r�T �������{���O�����/�H��+˟Pl6 I ���B)/�V���C��<6���a��2����~�����(�XwV4�g�n���XR� ϱ5�ǀHٻ?tw�똤Eyxp���{�#���WK��� �q����G%5���]�,���(�0ӈH����� HZ���])ג=K1j��&��G(FbM�@����)%�I` XR�����g ʔ�� KZ�G(v��P,�<`�[� K���n^ ��SJR���sAʠ�5xՅF`�0&R�b�V� ��t��x�:Ea�UE�/{�f��i�2;.I����A��wW8��/��t�T�x�A��GOo��N�?�G���}�l L�(���n�����`�Zv?���p�B��8K�_g�����I�+ܗ � #��i��?���ޙ�.��) p����$�u�tc �~DžfՈE�o3��l/)I-U�?a�ԅ�^��j�x�A�r����A�� ΧX��������}�DmZ@QLےbTXGd�.^|x�KHR{���|Ε�W_h]�� ���I��J`[�G9�{��)�.y�)�� ��<���D�*��zk�(ּ���Ya����O���8S����?��2-��� ������H13����#pK"���I`]`O� ��h�&=�S���F1Z�/Ie����D1R�W�a�"t'�x?!)Ou:��1 ��|��6��gt\s�����7�=�z_;�ؠ��>�0X Y��A1]q�p?�p�_���k+J*��Y�@HI>�^��?�g�t.06R�n ��,��`�� ��?)�;p pSF9����Z����X���L�����BJP�W���j���gQ|�&)7!�� Hj��Q��t���<| ؅��W�5 x �W��� �� HIz�Y���oV���M�G�P��� Hj��n`+�\�(d��N���W)F+I�rS�[���|��/a�����`K��|�ͻ�0Hj�{�R,���Q=��\� (F�}\�W�������R)A�g��SG`I��s�n���AR�=|�8�$}�G(v��C��$)s���� FBJ�?]�_�u XRv�ύ��6z�� �Ũ�G[��3��6-�T9�H��z��p����W�̞ú������� X�����g�큽�=�7C�u������fzI���$��)�k�i���^q��k��-) � ���0H*�N` �QZ��k�k]/���t���nn���sI�^Gu't=��7$�� Z;�{���8�^��jB��%� ��IItR�QS7�[�ϭ���3 �$�_���O�Q�J`7�!�]���W��"��W,)�����Iy �W��� �AJA�;K���WG��`IY�{8���k$I�$�^��%����9�.�^(`��N|���LJ�%�@�$I�}ֽp���=FB*�xN��=gI?Q{٥�4B)m���w �$I���gc~d��Z@G�9K��� X�?7)a�K�%�݅K�$IZ��-`I���p����C ������U��6�$I��\0��>!��9�k}��� Xa� ����II�S���0H�$I �H ?1R��.�Ч�j���:�4~R�w���@p�$I����r��A*�u��}��W�j�WFPJ����$I�➓/���6#!�� L�Ӿ��+ X36�x�8J �|+L;v���$I���o�4����3���0����1�R2�0��M� I�$-E}��@����,pS�^ޟR[���/����s¹'��0H�$IKyf��Ÿ���f�������VO�π�FT*�����a$I��>��H��e��~����V���Y/3�R�/�)��>d$I��>2��8`Cj���w�,n@�FU*�9tt�f$I��~<;��=�/4RD~����@��� X��-�ѕ�z��ἱI�$��:� ԍ��R �a�@��b X��{��+�Qx��u�q�$I�Л�z�o���� /~3\8����ڒ���4B������N7�$IҀ���j �V]n1�8H�$I��YFBj�3��̚�̵���ja ����p���p��� �$I���s/3R� Ӻ�-�Yj+L;�.0�R�́��I�$�A���v?� #!5�"��aʄ��j}���U���Km�ɽ��H�$Ij��C���Ys?h$I��Dl8�4��3���.��v�}���m���7�UiI=�&�=0L�g0$I��4���: ���emb�e��`���� e�Qbm�0u�? �$I�T!Sƍ'�-���s��v�)s#C��0�:�XB���2���a� w I�$�zbww�{�."p��Pz�O� �=�Ɔ�\����[� �����o($I������aw]�`���E���).K���v�i�:�L�*#gР7[��$I�����yG���PI=@��R� �4�y��R~�̮�´cg I�$I/<�t�P�ͽ ��h�Dg�o� 94����Z^k盇�΄8��I���56��^�W�$I�^�0���̜�N�?4*�H`237}g��+h���x�o��q)��SJ@p|�`�� �$I��%>������-�h���O�0e�O�>��\ԣNߌZ��D6��R�=K ����~n($I�$��y�3��D>o4�b#px�2���$��yڪt���z���W���~a�� �$I��~?�x<��e{W���g��ô�{�x$/�=�{t�G�0�7��e���a���B�$IҀ�yG��^S�卆�"puS��3��*�E=洣��,`9�>��'���Bww�pH�$IZ��ݑ�nC�㧄���Pc�_9��sO gw����J=l1�:mKB�>�����Ab<4L�p���$I�����b �o1Z���Q�@8�5�b�̍ S'�F���,�F��e���,^I�$Ij���E�dù{�l4� �8�Ys_�s� Z8.��x �m"+{~��?q,��Z D�!I�$��ϻ�'|X�h��B�)=��…'�]��M�>��5��� r�g���otԎ 獽�PH�$Ij����IP���hh)n#�cÔq���A'�ug5qw���U�&r�F|1��E%I�$%����]��!'�3�AFD/;C�k_`�9��� �v�!ٴt�PV�;��x`�'��*b�Qa� w I�$I�x�5� �����FC�3D����_��~��A�_�#O݆���Dv��V?<���q�w�+I�$I�{��=�Z�8"�.#RI���Y�yj���Ǫ����=f�D�l�9�%�M�,�����a8$I�$��Yw�i[�7�ݍFe�$�s��1��ՋBV�A?�`�]#!��oz����4zjLJ���o8$I�$%�@3j�A��a4��(�o�� �;�p,,dya�=��F9ً[��LS���PH�$IJ�Y�Љ+3��> 5"���3�9�aZ�<ñh!�{T�pB�G��k��j}��S�p��� �$I��lvF��.���F$I� ��z<� '\���K*qq��.f�<���2�Y�!�S"-\I�$I��Yw�č��jF$ w9��� \ߪB�.�1�v!Ʊ���?+��r�:�^�!I�$�BϹ�B� ����H��"�B�;L��'G[ 4�U�����#5>�੐�)|#�o0��aڱ���$I���>�}��k&�1`U#�V��?��Ys��V x���>�{t���1�[�I~D���&(I�$I/{��H�0fw�"�q"���y�%��4����� I�X�y�E~��M�3 8Xψ��L}q�������E�$I���[�> �nD�?~�s����f��� �����]o�΁� �cT��6"?'�_�Ἣ� �$I��>�~��.f�|'!������N�?�⟩����0��G KkX�Z�E��]�ޡ;�����/����&�?k�� O�ۘH�$IR��������ۀw�XӨ��<�7@��P��nS��04�a����Ӷ�p�.��:��@���\IWQ�J6�s�S%I�$���e��5��ڑ���v`�3:���x'�;��w��q_�vp�gHyX�Z� ��3�gЂ7{{���E�����uԹ�n�±��}�$I�$��������8t;b|��5��91n��ء����Q"�P������6���O�5�i���� }�i�R�̈́���%�Q�̄p!�I䮢�]��������O{�H�$IR�ϻ�9��s֧�� a=`-� aB\X��0"+5"C�1�H�b?߮����3x��3�&�g�ş�g��g����l��_���h�����Z^,`5�?���ߎ��vĸ%�̀M!�OZC2#0x ����LJ��0�� �G�w����$I�$I�}�<�{Eb�+y���;�iI,`����ܚ��F�����:�5��ܛ�A�8���-O�-|�8�K�7��s�|#�Z8�a&�>���<��a&����/V��tb�t��L��ʌI�$I�$I�$I�$I�$I�$IRj���D��D�%tEXtdate:create2022-05-31T04:40:26+00:00�!Î%tEXtdate:modify2022-05-31T04:40:26+00:00�|{2IEND�B`�Mini Shell

HOME


Mini Shell 1.0
DIR:/home/drishtigems.com/www/public/admin/LTE/plugins/fullcalendar-daygrid/
Upload File :
Current File : /home/drishtigems.com/www/public/admin/LTE/plugins/fullcalendar-daygrid/main.js.map
{"version":3,"file":"main.js","sources":["../../../tmp/tsc-output/packages/daygrid/src/DayGridDateProfileGenerator.js","../../../tmp/tsc-output/packages/daygrid/src/Popover.js","../../../tmp/tsc-output/packages/daygrid/src/SimpleDayGridEventRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridEventRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridMirrorRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridFillRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayTile.js","../../../tmp/tsc-output/packages/daygrid/src/DayBgRow.js","../../../tmp/tsc-output/packages/daygrid/src/DayGrid.js","../../../tmp/tsc-output/packages/daygrid/src/AbstractDayGridView.js","../../../tmp/tsc-output/packages/daygrid/src/SimpleDayGrid.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridView.js","../../../tmp/tsc-output/packages/daygrid/src/main.js"],"sourcesContent":["import * as tslib_1 from \"tslib\";\nimport { DateProfileGenerator, addWeeks, diffWeeks } from '@fullcalendar/core';\nvar DayGridDateProfileGenerator = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridDateProfileGenerator, _super);\n    function DayGridDateProfileGenerator() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // Computes the date range that will be rendered.\n    DayGridDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n        var dateEnv = this.dateEnv;\n        var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n        var start = renderRange.start;\n        var end = renderRange.end;\n        var endOfWeek;\n        // year and month views should be aligned with weeks. this is already done for week\n        if (/^(year|month)$/.test(currentRangeUnit)) {\n            start = dateEnv.startOfWeek(start);\n            // make end-of-week if not already\n            endOfWeek = dateEnv.startOfWeek(end);\n            if (endOfWeek.valueOf() !== end.valueOf()) {\n                end = addWeeks(endOfWeek, 1);\n            }\n        }\n        // ensure 6 weeks\n        if (this.options.monthMode &&\n            this.options.fixedWeekCount) {\n            var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n            diffWeeks(start, end));\n            end = addWeeks(end, 6 - rowCnt);\n        }\n        return { start: start, end: end };\n    };\n    return DayGridDateProfileGenerator;\n}(DateProfileGenerator));\nexport default DayGridDateProfileGenerator;\n","/* A rectangular panel that is absolutely positioned over other content\n------------------------------------------------------------------------------------------------------------------------\nOptions:\n  - className (string)\n  - content (HTML string, element, or element array)\n  - parentEl\n  - top\n  - left\n  - right (the x coord of where the right edge should be. not a \"CSS\" right)\n  - autoHide (boolean)\n  - show (callback)\n  - hide (callback)\n*/\nimport { removeElement, createElement, applyStyle, listenBySelector, computeClippingRect, computeRect } from '@fullcalendar/core';\nvar Popover = /** @class */ (function () {\n    function Popover(options) {\n        var _this = this;\n        this.isHidden = true;\n        this.margin = 10; // the space required between the popover and the edges of the scroll container\n        // Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n        this.documentMousedown = function (ev) {\n            // only hide the popover if the click happened outside the popover\n            if (_this.el && !_this.el.contains(ev.target)) {\n                _this.hide();\n            }\n        };\n        this.options = options;\n    }\n    // Shows the popover on the specified position. Renders it if not already\n    Popover.prototype.show = function () {\n        if (this.isHidden) {\n            if (!this.el) {\n                this.render();\n            }\n            this.el.style.display = '';\n            this.position();\n            this.isHidden = false;\n            this.trigger('show');\n        }\n    };\n    // Hides the popover, through CSS, but does not remove it from the DOM\n    Popover.prototype.hide = function () {\n        if (!this.isHidden) {\n            this.el.style.display = 'none';\n            this.isHidden = true;\n            this.trigger('hide');\n        }\n    };\n    // Creates `this.el` and renders content inside of it\n    Popover.prototype.render = function () {\n        var _this = this;\n        var options = this.options;\n        var el = this.el = createElement('div', {\n            className: 'fc-popover ' + (options.className || ''),\n            style: {\n                top: '0',\n                left: '0'\n            }\n        });\n        if (typeof options.content === 'function') {\n            options.content(el);\n        }\n        options.parentEl.appendChild(el);\n        // when a click happens on anything inside with a 'fc-close' className, hide the popover\n        listenBySelector(el, 'click', '.fc-close', function (ev) {\n            _this.hide();\n        });\n        if (options.autoHide) {\n            document.addEventListener('mousedown', this.documentMousedown);\n        }\n    };\n    // Hides and unregisters any handlers\n    Popover.prototype.destroy = function () {\n        this.hide();\n        if (this.el) {\n            removeElement(this.el);\n            this.el = null;\n        }\n        document.removeEventListener('mousedown', this.documentMousedown);\n    };\n    // Positions the popover optimally, using the top/left/right options\n    Popover.prototype.position = function () {\n        var options = this.options;\n        var el = this.el;\n        var elDims = el.getBoundingClientRect(); // only used for width,height\n        var origin = computeRect(el.offsetParent);\n        var clippingRect = computeClippingRect(options.parentEl);\n        var top; // the \"position\" (not \"offset\") values for the popover\n        var left; //\n        // compute top and left\n        top = options.top || 0;\n        if (options.left !== undefined) {\n            left = options.left;\n        }\n        else if (options.right !== undefined) {\n            left = options.right - elDims.width; // derive the left value from the right value\n        }\n        else {\n            left = 0;\n        }\n        // constrain to the view port. if constrained by two edges, give precedence to top/left\n        top = Math.min(top, clippingRect.bottom - elDims.height - this.margin);\n        top = Math.max(top, clippingRect.top + this.margin);\n        left = Math.min(left, clippingRect.right - elDims.width - this.margin);\n        left = Math.max(left, clippingRect.left + this.margin);\n        applyStyle(el, {\n            top: top - origin.top,\n            left: left - origin.left\n        });\n    };\n    // Triggers a callback. Calls a function in the option hash of the same name.\n    // Arguments beyond the first `name` are forwarded on.\n    // TODO: better code reuse for this. Repeat code\n    // can kill this???\n    Popover.prototype.trigger = function (name) {\n        if (this.options[name]) {\n            this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\n        }\n    };\n    return Popover;\n}());\nexport default Popover;\n","import * as tslib_1 from \"tslib\";\nimport { htmlEscape, cssToStr, FgEventRenderer, computeEventDraggable, computeEventStartResizable, computeEventEndResizable } from '@fullcalendar/core';\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\n// \"Simple\" is bad a name. has nothing to do with SimpleDayGrid\nvar SimpleDayGridEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(SimpleDayGridEventRenderer, _super);\n    function SimpleDayGridEventRenderer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // Builds the HTML to be used for the default element for an individual segment\n    SimpleDayGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {\n        var context = this.context;\n        var eventRange = seg.eventRange;\n        var eventDef = eventRange.def;\n        var eventUi = eventRange.ui;\n        var allDay = eventDef.allDay;\n        var isDraggable = computeEventDraggable(context, eventDef, eventUi);\n        var isResizableFromStart = allDay && seg.isStart && computeEventStartResizable(context, eventDef, eventUi);\n        var isResizableFromEnd = allDay && seg.isEnd && computeEventEndResizable(context, eventDef, eventUi);\n        var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);\n        var skinCss = cssToStr(this.getSkinCss(eventUi));\n        var timeHtml = '';\n        var timeText;\n        var titleHtml;\n        classes.unshift('fc-day-grid-event', 'fc-h-event');\n        // Only display a timed events time if it is the starting segment\n        if (seg.isStart) {\n            timeText = this.getTimeText(eventRange);\n            if (timeText) {\n                timeHtml = '<span class=\"fc-time\">' + htmlEscape(timeText) + '</span>';\n            }\n        }\n        titleHtml =\n            '<span class=\"fc-title\">' +\n                (htmlEscape(eventDef.title || '') || '&nbsp;') + // we always want one line of height\n                '</span>';\n        return '<a class=\"' + classes.join(' ') + '\"' +\n            (eventDef.url ?\n                ' href=\"' + htmlEscape(eventDef.url) + '\"' :\n                '') +\n            (skinCss ?\n                ' style=\"' + skinCss + '\"' :\n                '') +\n            '>' +\n            '<div class=\"fc-content\">' +\n            (context.options.dir === 'rtl' ?\n                titleHtml + ' ' + timeHtml : // put a natural space in between\n                timeHtml + ' ' + titleHtml //\n            ) +\n            '</div>' +\n            (isResizableFromStart ?\n                '<div class=\"fc-resizer fc-start-resizer\"></div>' :\n                '') +\n            (isResizableFromEnd ?\n                '<div class=\"fc-resizer fc-end-resizer\"></div>' :\n                '') +\n            '</a>';\n    };\n    // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined\n    SimpleDayGridEventRenderer.prototype.computeEventTimeFormat = function () {\n        return {\n            hour: 'numeric',\n            minute: '2-digit',\n            omitZeroMinute: true,\n            meridiem: 'narrow'\n        };\n    };\n    SimpleDayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n        return false; // TODO: somehow consider the originating DayGrid's column count\n    };\n    return SimpleDayGridEventRenderer;\n}(FgEventRenderer));\nexport default SimpleDayGridEventRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { createElement, removeElement, appendToElement, prependToElement } from '@fullcalendar/core';\nimport SimpleDayGridEventRenderer from './SimpleDayGridEventRenderer';\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\nvar DayGridEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridEventRenderer, _super);\n    function DayGridEventRenderer(dayGrid) {\n        var _this = _super.call(this) || this;\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    // Renders the given foreground event segments onto the grid\n    DayGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        var rowStructs = this.rowStructs = this.renderSegRows(segs);\n        // append to each row's content skeleton\n        this.dayGrid.rowEls.forEach(function (rowNode, i) {\n            rowNode.querySelector('.fc-content-skeleton > table').appendChild(rowStructs[i].tbodyEl);\n        });\n        // removes the \"more..\" events popover\n        if (!mirrorInfo) {\n            this.dayGrid.removeSegPopover();\n        }\n    };\n    // Unrenders all currently rendered foreground event segments\n    DayGridEventRenderer.prototype.detachSegs = function () {\n        var rowStructs = this.rowStructs || [];\n        var rowStruct;\n        while ((rowStruct = rowStructs.pop())) {\n            removeElement(rowStruct.tbodyEl);\n        }\n        this.rowStructs = null;\n    };\n    // Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.\n    // Returns an array of rowStruct objects (see the bottom of `renderSegRow`).\n    // PRECONDITION: each segment shoud already have a rendered and assigned `.el`\n    DayGridEventRenderer.prototype.renderSegRows = function (segs) {\n        var rowStructs = [];\n        var segRows;\n        var row;\n        segRows = this.groupSegRows(segs); // group into nested arrays\n        // iterate each row of segment groupings\n        for (row = 0; row < segRows.length; row++) {\n            rowStructs.push(this.renderSegRow(row, segRows[row]));\n        }\n        return rowStructs;\n    };\n    // Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains\n    // the segments. Returns object with a bunch of internal data about how the render was calculated.\n    // NOTE: modifies rowSegs\n    DayGridEventRenderer.prototype.renderSegRow = function (row, rowSegs) {\n        var isRtl = this.context.isRtl;\n        var dayGrid = this.dayGrid;\n        var colCnt = dayGrid.colCnt;\n        var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels\n        var levelCnt = Math.max(1, segLevels.length); // ensure at least one level\n        var tbody = document.createElement('tbody');\n        var segMatrix = []; // lookup for which segments are rendered into which level+col cells\n        var cellMatrix = []; // lookup for all <td> elements of the level+col matrix\n        var loneCellMatrix = []; // lookup for <td> elements that only take up a single column\n        var i;\n        var levelSegs;\n        var col;\n        var tr;\n        var j;\n        var seg;\n        var td;\n        // populates empty cells from the current column (`col`) to `endCol`\n        function emptyCellsUntil(endCol) {\n            while (col < endCol) {\n                // try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell\n                td = (loneCellMatrix[i - 1] || [])[col];\n                if (td) {\n                    td.rowSpan = (td.rowSpan || 1) + 1;\n                }\n                else {\n                    td = document.createElement('td');\n                    tr.appendChild(td);\n                }\n                cellMatrix[i][col] = td;\n                loneCellMatrix[i][col] = td;\n                col++;\n            }\n        }\n        for (i = 0; i < levelCnt; i++) { // iterate through all levels\n            levelSegs = segLevels[i];\n            col = 0;\n            tr = document.createElement('tr');\n            segMatrix.push([]);\n            cellMatrix.push([]);\n            loneCellMatrix.push([]);\n            // levelCnt might be 1 even though there are no actual levels. protect against this.\n            // this single empty row is useful for styling.\n            if (levelSegs) {\n                for (j = 0; j < levelSegs.length; j++) { // iterate through segments in level\n                    seg = levelSegs[j];\n                    var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n                    var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n                    emptyCellsUntil(leftCol);\n                    // create a container that occupies or more columns. append the event element.\n                    td = createElement('td', { className: 'fc-event-container' }, seg.el);\n                    if (leftCol !== rightCol) {\n                        td.colSpan = rightCol - leftCol + 1;\n                    }\n                    else { // a single-column segment\n                        loneCellMatrix[i][col] = td;\n                    }\n                    while (col <= rightCol) {\n                        cellMatrix[i][col] = td;\n                        segMatrix[i][col] = seg;\n                        col++;\n                    }\n                    tr.appendChild(td);\n                }\n            }\n            emptyCellsUntil(colCnt); // finish off the row\n            var introHtml = dayGrid.renderProps.renderIntroHtml();\n            if (introHtml) {\n                if (isRtl) {\n                    appendToElement(tr, introHtml);\n                }\n                else {\n                    prependToElement(tr, introHtml);\n                }\n            }\n            tbody.appendChild(tr);\n        }\n        return {\n            row: row,\n            tbodyEl: tbody,\n            cellMatrix: cellMatrix,\n            segMatrix: segMatrix,\n            segLevels: segLevels,\n            segs: rowSegs\n        };\n    };\n    // Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.\n    // NOTE: modifies segs\n    DayGridEventRenderer.prototype.buildSegLevels = function (segs) {\n        var isRtl = this.context.isRtl;\n        var colCnt = this.dayGrid.colCnt;\n        var levels = [];\n        var i;\n        var seg;\n        var j;\n        // Give preference to elements with certain criteria, so they have\n        // a chance to be closer to the top.\n        segs = this.sortEventSegs(segs);\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            // loop through levels, starting with the topmost, until the segment doesn't collide with other segments\n            for (j = 0; j < levels.length; j++) {\n                if (!isDaySegCollision(seg, levels[j])) {\n                    break;\n                }\n            }\n            // `j` now holds the desired subrow index\n            seg.level = j;\n            seg.leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol; // for sorting only\n            seg.rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol // for sorting only\n            ;\n            (levels[j] || (levels[j] = [])).push(seg);\n        }\n        // order segments left-to-right. very important if calendar is RTL\n        for (j = 0; j < levels.length; j++) {\n            levels[j].sort(compareDaySegCols);\n        }\n        return levels;\n    };\n    // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row\n    DayGridEventRenderer.prototype.groupSegRows = function (segs) {\n        var segRows = [];\n        var i;\n        for (i = 0; i < this.dayGrid.rowCnt; i++) {\n            segRows.push([]);\n        }\n        for (i = 0; i < segs.length; i++) {\n            segRows[segs[i].row].push(segs[i]);\n        }\n        return segRows;\n    };\n    // Computes a default `displayEventEnd` value if one is not expliclty defined\n    DayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n        return this.dayGrid.colCnt === 1; // we'll likely have space if there's only one day\n    };\n    return DayGridEventRenderer;\n}(SimpleDayGridEventRenderer));\nexport default DayGridEventRenderer;\n// Computes whether two segments' columns collide. They are assumed to be in the same row.\nfunction isDaySegCollision(seg, otherSegs) {\n    var i;\n    var otherSeg;\n    for (i = 0; i < otherSegs.length; i++) {\n        otherSeg = otherSegs[i];\n        if (otherSeg.firstCol <= seg.lastCol &&\n            otherSeg.lastCol >= seg.firstCol) {\n            return true;\n        }\n    }\n    return false;\n}\n// A cmp function for determining the leftmost event\nfunction compareDaySegCols(a, b) {\n    return a.leftCol - b.leftCol;\n}\n","import * as tslib_1 from \"tslib\";\nimport { htmlToElement } from '@fullcalendar/core';\nimport DayGridEventRenderer from './DayGridEventRenderer';\nvar DayGridMirrorRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridMirrorRenderer, _super);\n    function DayGridMirrorRenderer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    DayGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        var sourceSeg = mirrorInfo.sourceSeg;\n        var rowStructs = this.rowStructs = this.renderSegRows(segs);\n        // inject each new event skeleton into each associated row\n        this.dayGrid.rowEls.forEach(function (rowNode, row) {\n            var skeletonEl = htmlToElement('<div class=\"fc-mirror-skeleton\"><table></table></div>'); // will be absolutely positioned\n            var skeletonTopEl;\n            var skeletonTop;\n            // If there is an original segment, match the top position. Otherwise, put it at the row's top level\n            if (sourceSeg && sourceSeg.row === row) {\n                skeletonTopEl = sourceSeg.el;\n            }\n            else {\n                skeletonTopEl = rowNode.querySelector('.fc-content-skeleton tbody');\n                if (!skeletonTopEl) { // when no events\n                    skeletonTopEl = rowNode.querySelector('.fc-content-skeleton table');\n                }\n            }\n            skeletonTop = skeletonTopEl.getBoundingClientRect().top -\n                rowNode.getBoundingClientRect().top; // the offsetParent origin\n            skeletonEl.style.top = skeletonTop + 'px';\n            skeletonEl.querySelector('table').appendChild(rowStructs[row].tbodyEl);\n            rowNode.appendChild(skeletonEl);\n        });\n    };\n    return DayGridMirrorRenderer;\n}(DayGridEventRenderer));\nexport default DayGridMirrorRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { htmlToElement, appendToElement, prependToElement, FillRenderer } from '@fullcalendar/core';\nvar EMPTY_CELL_HTML = '<td style=\"pointer-events:none\"></td>';\nvar DayGridFillRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridFillRenderer, _super);\n    function DayGridFillRenderer(dayGrid) {\n        var _this = _super.call(this) || this;\n        _this.fillSegTag = 'td'; // override the default tag name\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    DayGridFillRenderer.prototype.renderSegs = function (type, context, segs) {\n        // don't render timed background events\n        if (type === 'bgEvent') {\n            segs = segs.filter(function (seg) {\n                return seg.eventRange.def.allDay;\n            });\n        }\n        _super.prototype.renderSegs.call(this, type, context, segs);\n    };\n    DayGridFillRenderer.prototype.attachSegs = function (type, segs) {\n        var els = [];\n        var i;\n        var seg;\n        var skeletonEl;\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            skeletonEl = this.renderFillRow(type, seg);\n            this.dayGrid.rowEls[seg.row].appendChild(skeletonEl);\n            els.push(skeletonEl);\n        }\n        return els;\n    };\n    // Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.\n    DayGridFillRenderer.prototype.renderFillRow = function (type, seg) {\n        var dayGrid = this.dayGrid;\n        var isRtl = this.context.isRtl;\n        var colCnt = dayGrid.colCnt;\n        var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n        var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n        var startCol = leftCol;\n        var endCol = rightCol + 1;\n        var className;\n        var skeletonEl;\n        var trEl;\n        if (type === 'businessHours') {\n            className = 'bgevent';\n        }\n        else {\n            className = type.toLowerCase();\n        }\n        skeletonEl = htmlToElement('<div class=\"fc-' + className + '-skeleton\">' +\n            '<table><tr></tr></table>' +\n            '</div>');\n        trEl = skeletonEl.getElementsByTagName('tr')[0];\n        if (startCol > 0) {\n            appendToElement(trEl, \n            // will create (startCol + 1) td's\n            new Array(startCol + 1).join(EMPTY_CELL_HTML));\n        }\n        seg.el.colSpan = endCol - startCol;\n        trEl.appendChild(seg.el);\n        if (endCol < colCnt) {\n            appendToElement(trEl, \n            // will create (colCnt - endCol) td's\n            new Array(colCnt - endCol + 1).join(EMPTY_CELL_HTML));\n        }\n        var introHtml = dayGrid.renderProps.renderIntroHtml();\n        if (introHtml) {\n            if (isRtl) {\n                appendToElement(trEl, introHtml);\n            }\n            else {\n                prependToElement(trEl, introHtml);\n            }\n        }\n        return skeletonEl;\n    };\n    return DayGridFillRenderer;\n}(FillRenderer));\nexport default DayGridFillRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { DateComponent, htmlEscape, createFormatter, addDays, removeElement, memoizeRendering } from '@fullcalendar/core';\nimport SimpleDayGridEventRenderer from './SimpleDayGridEventRenderer';\nvar DayTile = /** @class */ (function (_super) {\n    tslib_1.__extends(DayTile, _super);\n    function DayTile(el) {\n        var _this = _super.call(this, el) || this;\n        var eventRenderer = _this.eventRenderer = new DayTileEventRenderer(_this);\n        var renderFrame = _this.renderFrame = memoizeRendering(_this._renderFrame);\n        _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderFrame]);\n        _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n        _this.renderEventDrag = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n        _this.renderEventResize = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n        return _this;\n    }\n    DayTile.prototype.firstContext = function (context) {\n        context.calendar.registerInteractiveComponent(this, {\n            el: this.el,\n            useEventCenter: false\n        });\n    };\n    DayTile.prototype.render = function (props, context) {\n        this.renderFrame(props.date);\n        this.renderFgEvents(context, props.fgSegs);\n        this.renderEventSelection(props.eventSelection);\n        this.renderEventDrag(props.eventDragInstances);\n        this.renderEventResize(props.eventResizeInstances);\n    };\n    DayTile.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderFrame.unrender(); // should unrender everything else\n        this.context.calendar.unregisterInteractiveComponent(this);\n    };\n    DayTile.prototype._renderFrame = function (date) {\n        var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;\n        var title = dateEnv.format(date, createFormatter(options.dayPopoverFormat) // TODO: cache\n        );\n        this.el.innerHTML =\n            '<div class=\"fc-header ' + theme.getClass('popoverHeader') + '\">' +\n                '<span class=\"fc-title\">' +\n                htmlEscape(title) +\n                '</span>' +\n                '<span class=\"fc-close ' + theme.getIconClass('close') + '\"></span>' +\n                '</div>' +\n                '<div class=\"fc-body ' + theme.getClass('popoverContent') + '\">' +\n                '<div class=\"fc-event-container\"></div>' +\n                '</div>';\n        this.segContainerEl = this.el.querySelector('.fc-event-container');\n    };\n    DayTile.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n        var date = this.props.date; // HACK\n        if (positionLeft < elWidth && positionTop < elHeight) {\n            return {\n                component: this,\n                dateSpan: {\n                    allDay: true,\n                    range: { start: date, end: addDays(date, 1) }\n                },\n                dayEl: this.el,\n                rect: {\n                    left: 0,\n                    top: 0,\n                    right: elWidth,\n                    bottom: elHeight\n                },\n                layer: 1\n            };\n        }\n    };\n    return DayTile;\n}(DateComponent));\nexport default DayTile;\nvar DayTileEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayTileEventRenderer, _super);\n    function DayTileEventRenderer(dayTile) {\n        var _this = _super.call(this) || this;\n        _this.dayTile = dayTile;\n        return _this;\n    }\n    DayTileEventRenderer.prototype.attachSegs = function (segs) {\n        for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n            var seg = segs_1[_i];\n            this.dayTile.segContainerEl.appendChild(seg.el);\n        }\n    };\n    DayTileEventRenderer.prototype.detachSegs = function (segs) {\n        for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n            var seg = segs_2[_i];\n            removeElement(seg.el);\n        }\n    };\n    return DayTileEventRenderer;\n}(SimpleDayGridEventRenderer));\nexport { DayTileEventRenderer };\n","import { getDayClasses, rangeContainsMarker } from '@fullcalendar/core';\nvar DayBgRow = /** @class */ (function () {\n    function DayBgRow(context) {\n        this.context = context;\n    }\n    DayBgRow.prototype.renderHtml = function (props) {\n        var parts = [];\n        if (props.renderIntroHtml) {\n            parts.push(props.renderIntroHtml());\n        }\n        for (var _i = 0, _a = props.cells; _i < _a.length; _i++) {\n            var cell = _a[_i];\n            parts.push(renderCellHtml(cell.date, props.dateProfile, this.context, cell.htmlAttrs));\n        }\n        if (!props.cells.length) {\n            parts.push('<td class=\"fc-day ' + this.context.theme.getClass('widgetContent') + '\"></td>');\n        }\n        if (this.context.options.dir === 'rtl') {\n            parts.reverse();\n        }\n        return '<tr>' + parts.join('') + '</tr>';\n    };\n    return DayBgRow;\n}());\nexport default DayBgRow;\nfunction renderCellHtml(date, dateProfile, context, otherAttrs) {\n    var dateEnv = context.dateEnv, theme = context.theme;\n    var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n    var classes = getDayClasses(date, dateProfile, context);\n    classes.unshift('fc-day', theme.getClass('widgetContent'));\n    return '<td class=\"' + classes.join(' ') + '\"' +\n        (isDateValid ?\n            ' data-date=\"' + dateEnv.formatIso(date, { omitTime: true }) + '\"' :\n            '') +\n        (otherAttrs ?\n            ' ' + otherAttrs :\n            '') +\n        '></td>';\n}\n","import * as tslib_1 from \"tslib\";\nimport { createElement, insertAfterElement, findElements, findChildren, removeElement, computeRect, PositionCache, addDays, createFormatter, DateComponent, rangeContainsMarker, intersectRanges, buildGotoAnchorHtml, getDayClasses, memoizeRendering } from '@fullcalendar/core';\nimport Popover from './Popover';\nimport DayGridEventRenderer from './DayGridEventRenderer';\nimport DayGridMirrorRenderer from './DayGridMirrorRenderer';\nimport DayGridFillRenderer from './DayGridFillRenderer';\nimport DayTile from './DayTile';\nimport DayBgRow from './DayBgRow';\nvar DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });\nvar WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });\nvar DayGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGrid, _super);\n    function DayGrid(el, renderProps) {\n        var _this = _super.call(this, el) || this;\n        _this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid\n        _this.isCellSizesDirty = false;\n        _this.renderProps = renderProps;\n        var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);\n        var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);\n        _this.mirrorRenderer = new DayGridMirrorRenderer(_this);\n        var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);\n        _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);\n        _this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);\n        _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);\n        _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);\n        _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n        _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);\n        _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderCells]);\n        return _this;\n    }\n    DayGrid.prototype.render = function (props, context) {\n        var cells = props.cells;\n        this.rowCnt = cells.length;\n        this.colCnt = cells[0].length;\n        this.renderCells(cells, props.isRigid);\n        this.renderBusinessHours(context, props.businessHourSegs);\n        this.renderDateSelection(context, props.dateSelectionSegs);\n        this.renderBgEvents(context, props.bgEventSegs);\n        this.renderFgEvents(context, props.fgEventSegs);\n        this.renderEventSelection(props.eventSelection);\n        this.renderEventDrag(props.eventDrag);\n        this.renderEventResize(props.eventResize);\n        if (this.segPopoverTile) {\n            this.updateSegPopoverTile();\n        }\n    };\n    DayGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderCells.unrender(); // will unrender everything else\n    };\n    DayGrid.prototype.getCellRange = function (row, col) {\n        var start = this.props.cells[row][col].date;\n        var end = addDays(start, 1);\n        return { start: start, end: end };\n    };\n    DayGrid.prototype.updateSegPopoverTile = function (date, segs) {\n        var ownProps = this.props;\n        this.segPopoverTile.receiveProps({\n            date: date || this.segPopoverTile.props.date,\n            fgSegs: segs || this.segPopoverTile.props.fgSegs,\n            eventSelection: ownProps.eventSelection,\n            eventDragInstances: ownProps.eventDrag ? ownProps.eventDrag.affectedInstances : null,\n            eventResizeInstances: ownProps.eventResize ? ownProps.eventResize.affectedInstances : null\n        }, this.context);\n    };\n    /* Date Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderCells = function (cells, isRigid) {\n        var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, dateEnv = _a.dateEnv;\n        var _b = this, rowCnt = _b.rowCnt, colCnt = _b.colCnt;\n        var html = '';\n        var row;\n        var col;\n        for (row = 0; row < rowCnt; row++) {\n            html += this.renderDayRowHtml(row, isRigid);\n        }\n        this.el.innerHTML = html;\n        this.rowEls = findElements(this.el, '.fc-row');\n        this.cellEls = findElements(this.el, '.fc-day, .fc-disabled-day');\n        if (isRtl) {\n            this.cellEls.reverse();\n        }\n        this.rowPositions = new PositionCache(this.el, this.rowEls, false, true // vertical\n        );\n        this.colPositions = new PositionCache(this.el, this.cellEls.slice(0, colCnt), // only the first row\n        true, false // horizontal\n        );\n        // trigger dayRender with each cell's element\n        for (row = 0; row < rowCnt; row++) {\n            for (col = 0; col < colCnt; col++) {\n                calendar.publiclyTrigger('dayRender', [\n                    {\n                        date: dateEnv.toDate(cells[row][col].date),\n                        el: this.getCellEl(row, col),\n                        view: view\n                    }\n                ]);\n            }\n        }\n        this.isCellSizesDirty = true;\n    };\n    DayGrid.prototype._unrenderCells = function () {\n        this.removeSegPopover();\n    };\n    // Generates the HTML for a single row, which is a div that wraps a table.\n    // `row` is the row number.\n    DayGrid.prototype.renderDayRowHtml = function (row, isRigid) {\n        var theme = this.context.theme;\n        var classes = ['fc-row', 'fc-week', theme.getClass('dayRow')];\n        if (isRigid) {\n            classes.push('fc-rigid');\n        }\n        var bgRow = new DayBgRow(this.context);\n        return '' +\n            '<div class=\"' + classes.join(' ') + '\">' +\n            '<div class=\"fc-bg\">' +\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n            bgRow.renderHtml({\n                cells: this.props.cells[row],\n                dateProfile: this.props.dateProfile,\n                renderIntroHtml: this.renderProps.renderBgIntroHtml\n            }) +\n            '</table>' +\n            '</div>' +\n            '<div class=\"fc-content-skeleton\">' +\n            '<table>' +\n            (this.getIsNumbersVisible() ?\n                '<thead>' +\n                    this.renderNumberTrHtml(row) +\n                    '</thead>' :\n                '') +\n            '</table>' +\n            '</div>' +\n            '</div>';\n    };\n    DayGrid.prototype.getIsNumbersVisible = function () {\n        return this.getIsDayNumbersVisible() ||\n            this.renderProps.cellWeekNumbersVisible ||\n            this.renderProps.colWeekNumbersVisible;\n    };\n    DayGrid.prototype.getIsDayNumbersVisible = function () {\n        return this.rowCnt > 1;\n    };\n    /* Grid Number Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.renderNumberTrHtml = function (row) {\n        var isRtl = this.context.isRtl;\n        var intro = this.renderProps.renderNumberIntroHtml(row, this);\n        return '' +\n            '<tr>' +\n            (isRtl ? '' : intro) +\n            this.renderNumberCellsHtml(row) +\n            (isRtl ? intro : '') +\n            '</tr>';\n    };\n    DayGrid.prototype.renderNumberCellsHtml = function (row) {\n        var htmls = [];\n        var col;\n        var date;\n        for (col = 0; col < this.colCnt; col++) {\n            date = this.props.cells[row][col].date;\n            htmls.push(this.renderNumberCellHtml(date));\n        }\n        if (this.context.isRtl) {\n            htmls.reverse();\n        }\n        return htmls.join('');\n    };\n    // Generates the HTML for the <td>s of the \"number\" row in the DayGrid's content skeleton.\n    // The number row will only exist if either day numbers or week numbers are turned on.\n    DayGrid.prototype.renderNumberCellHtml = function (date) {\n        var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;\n        var html = '';\n        var isDateValid = rangeContainsMarker(this.props.dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n        var isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;\n        var classes;\n        var weekCalcFirstDow;\n        if (!isDayNumberVisible && !this.renderProps.cellWeekNumbersVisible) {\n            // no numbers in day cell (week number must be along the side)\n            return '<td></td>'; //  will create an empty space above events :(\n        }\n        classes = getDayClasses(date, this.props.dateProfile, this.context);\n        classes.unshift('fc-day-top');\n        if (this.renderProps.cellWeekNumbersVisible) {\n            weekCalcFirstDow = dateEnv.weekDow;\n        }\n        html += '<td class=\"' + classes.join(' ') + '\"' +\n            (isDateValid ?\n                ' data-date=\"' + dateEnv.formatIso(date, { omitTime: true }) + '\"' :\n                '') +\n            '>';\n        if (this.renderProps.cellWeekNumbersVisible && (date.getUTCDay() === weekCalcFirstDow)) {\n            html += buildGotoAnchorHtml(options, dateEnv, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML\n            );\n        }\n        if (isDayNumberVisible) {\n            html += buildGotoAnchorHtml(options, dateEnv, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML\n            );\n        }\n        html += '</td>';\n        return html;\n    };\n    /* Sizing\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.updateSize = function (isResize) {\n        var calendar = this.context.calendar;\n        var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;\n        if (isResize ||\n            this.isCellSizesDirty ||\n            calendar.isEventsUpdated // hack\n        ) {\n            this.buildPositionCaches();\n            this.isCellSizesDirty = false;\n        }\n        fillRenderer.computeSizes(isResize);\n        eventRenderer.computeSizes(isResize);\n        mirrorRenderer.computeSizes(isResize);\n        fillRenderer.assignSizes(isResize);\n        eventRenderer.assignSizes(isResize);\n        mirrorRenderer.assignSizes(isResize);\n    };\n    DayGrid.prototype.buildPositionCaches = function () {\n        this.buildColPositions();\n        this.buildRowPositions();\n    };\n    DayGrid.prototype.buildColPositions = function () {\n        this.colPositions.build();\n    };\n    DayGrid.prototype.buildRowPositions = function () {\n        this.rowPositions.build();\n        this.rowPositions.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack\n    };\n    /* Hit System\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.positionToHit = function (leftPosition, topPosition) {\n        var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n        var col = colPositions.leftToIndex(leftPosition);\n        var row = rowPositions.topToIndex(topPosition);\n        if (row != null && col != null) {\n            return {\n                row: row,\n                col: col,\n                dateSpan: {\n                    range: this.getCellRange(row, col),\n                    allDay: true\n                },\n                dayEl: this.getCellEl(row, col),\n                relativeRect: {\n                    left: colPositions.lefts[col],\n                    right: colPositions.rights[col],\n                    top: rowPositions.tops[row],\n                    bottom: rowPositions.bottoms[row]\n                }\n            };\n        }\n    };\n    /* Cell System\n    ------------------------------------------------------------------------------------------------------------------*/\n    // FYI: the first column is the leftmost column, regardless of date\n    DayGrid.prototype.getCellEl = function (row, col) {\n        return this.cellEls[row * this.colCnt + col];\n    };\n    /* Event Drag Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n        }\n    };\n    DayGrid.prototype._unrenderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            this.fillRenderer.unrender('highlight', this.context);\n        }\n    };\n    /* Event Resize Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n            this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    DayGrid.prototype._unrenderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            this.fillRenderer.unrender('highlight', this.context);\n            this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    /* More+ Link Popover\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.removeSegPopover = function () {\n        if (this.segPopover) {\n            this.segPopover.hide(); // in handler, will call segPopover's removeElement\n        }\n    };\n    // Limits the number of \"levels\" (vertically stacking layers of events) for each row of the grid.\n    // `levelLimit` can be false (don't limit), a number, or true (should be computed).\n    DayGrid.prototype.limitRows = function (levelLimit) {\n        var rowStructs = this.eventRenderer.rowStructs || [];\n        var row; // row #\n        var rowLevelLimit;\n        for (row = 0; row < rowStructs.length; row++) {\n            this.unlimitRow(row);\n            if (!levelLimit) {\n                rowLevelLimit = false;\n            }\n            else if (typeof levelLimit === 'number') {\n                rowLevelLimit = levelLimit;\n            }\n            else {\n                rowLevelLimit = this.computeRowLevelLimit(row);\n            }\n            if (rowLevelLimit !== false) {\n                this.limitRow(row, rowLevelLimit);\n            }\n        }\n    };\n    // Computes the number of levels a row will accomodate without going outside its bounds.\n    // Assumes the row is \"rigid\" (maintains a constant height regardless of what is inside).\n    // `row` is the row number.\n    DayGrid.prototype.computeRowLevelLimit = function (row) {\n        var rowEl = this.rowEls[row]; // the containing \"fake\" row div\n        var rowBottom = rowEl.getBoundingClientRect().bottom; // relative to viewport!\n        var trEls = findChildren(this.eventRenderer.rowStructs[row].tbodyEl);\n        var i;\n        var trEl;\n        // Reveal one level <tr> at a time and stop when we find one out of bounds\n        for (i = 0; i < trEls.length; i++) {\n            trEl = trEls[i];\n            trEl.classList.remove('fc-limited'); // reset to original state (reveal)\n            if (trEl.getBoundingClientRect().bottom > rowBottom) {\n                return i;\n            }\n        }\n        return false; // should not limit at all\n    };\n    // Limits the given grid row to the maximum number of levels and injects \"more\" links if necessary.\n    // `row` is the row number.\n    // `levelLimit` is a number for the maximum (inclusive) number of levels allowed.\n    DayGrid.prototype.limitRow = function (row, levelLimit) {\n        var _this = this;\n        var colCnt = this.colCnt;\n        var isRtl = this.context.isRtl;\n        var rowStruct = this.eventRenderer.rowStructs[row];\n        var moreNodes = []; // array of \"more\" <a> links and <td> DOM nodes\n        var col = 0; // col #, left-to-right (not chronologically)\n        var levelSegs; // array of segment objects in the last allowable level, ordered left-to-right\n        var cellMatrix; // a matrix (by level, then column) of all <td> elements in the row\n        var limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes\n        var i;\n        var seg;\n        var segsBelow; // array of segment objects below `seg` in the current `col`\n        var totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies\n        var colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)\n        var td;\n        var rowSpan;\n        var segMoreNodes; // array of \"more\" <td> cells that will stand-in for the current seg's cell\n        var j;\n        var moreTd;\n        var moreWrap;\n        var moreLink;\n        // Iterates through empty level cells and places \"more\" links inside if need be\n        var emptyCellsUntil = function (endCol) {\n            while (col < endCol) {\n                segsBelow = _this.getCellSegs(row, col, levelLimit);\n                if (segsBelow.length) {\n                    td = cellMatrix[levelLimit - 1][col];\n                    moreLink = _this.renderMoreLink(row, col, segsBelow);\n                    moreWrap = createElement('div', null, moreLink);\n                    td.appendChild(moreWrap);\n                    moreNodes.push(moreWrap);\n                }\n                col++;\n            }\n        };\n        if (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?\n            levelSegs = rowStruct.segLevels[levelLimit - 1];\n            cellMatrix = rowStruct.cellMatrix;\n            limitedNodes = findChildren(rowStruct.tbodyEl).slice(levelLimit); // get level <tr> elements past the limit\n            limitedNodes.forEach(function (node) {\n                node.classList.add('fc-limited'); // hide elements and get a simple DOM-nodes array\n            });\n            // iterate though segments in the last allowable level\n            for (i = 0; i < levelSegs.length; i++) {\n                seg = levelSegs[i];\n                var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n                var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n                emptyCellsUntil(leftCol); // process empty cells before the segment\n                // determine *all* segments below `seg` that occupy the same columns\n                colSegsBelow = [];\n                totalSegsBelow = 0;\n                while (col <= rightCol) {\n                    segsBelow = this.getCellSegs(row, col, levelLimit);\n                    colSegsBelow.push(segsBelow);\n                    totalSegsBelow += segsBelow.length;\n                    col++;\n                }\n                if (totalSegsBelow) { // do we need to replace this segment with one or many \"more\" links?\n                    td = cellMatrix[levelLimit - 1][leftCol]; // the segment's parent cell\n                    rowSpan = td.rowSpan || 1;\n                    segMoreNodes = [];\n                    // make a replacement <td> for each column the segment occupies. will be one for each colspan\n                    for (j = 0; j < colSegsBelow.length; j++) {\n                        moreTd = createElement('td', { className: 'fc-more-cell', rowSpan: rowSpan });\n                        segsBelow = colSegsBelow[j];\n                        moreLink = this.renderMoreLink(row, leftCol + j, [seg].concat(segsBelow) // count seg as hidden too\n                        );\n                        moreWrap = createElement('div', null, moreLink);\n                        moreTd.appendChild(moreWrap);\n                        segMoreNodes.push(moreTd);\n                        moreNodes.push(moreTd);\n                    }\n                    td.classList.add('fc-limited');\n                    insertAfterElement(td, segMoreNodes);\n                    limitedNodes.push(td);\n                }\n            }\n            emptyCellsUntil(this.colCnt); // finish off the level\n            rowStruct.moreEls = moreNodes; // for easy undoing later\n            rowStruct.limitedEls = limitedNodes; // for easy undoing later\n        }\n    };\n    // Reveals all levels and removes all \"more\"-related elements for a grid's row.\n    // `row` is a row number.\n    DayGrid.prototype.unlimitRow = function (row) {\n        var rowStruct = this.eventRenderer.rowStructs[row];\n        if (rowStruct.moreEls) {\n            rowStruct.moreEls.forEach(removeElement);\n            rowStruct.moreEls = null;\n        }\n        if (rowStruct.limitedEls) {\n            rowStruct.limitedEls.forEach(function (limitedEl) {\n                limitedEl.classList.remove('fc-limited');\n            });\n            rowStruct.limitedEls = null;\n        }\n    };\n    // Renders an <a> element that represents hidden event element for a cell.\n    // Responsible for attaching click handler as well.\n    DayGrid.prototype.renderMoreLink = function (row, col, hiddenSegs) {\n        var _this = this;\n        var _a = this.context, calendar = _a.calendar, view = _a.view, dateEnv = _a.dateEnv, options = _a.options, isRtl = _a.isRtl;\n        var a = createElement('a', { className: 'fc-more' });\n        a.innerText = this.getMoreLinkText(hiddenSegs.length);\n        a.addEventListener('click', function (ev) {\n            var clickOption = options.eventLimitClick;\n            var _col = isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n            var date = _this.props.cells[row][_col].date;\n            var moreEl = ev.currentTarget;\n            var dayEl = _this.getCellEl(row, col);\n            var allSegs = _this.getCellSegs(row, col);\n            // rescope the segments to be within the cell's date\n            var reslicedAllSegs = _this.resliceDaySegs(allSegs, date);\n            var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);\n            if (typeof clickOption === 'function') {\n                // the returned value can be an atomic option\n                clickOption = calendar.publiclyTrigger('eventLimitClick', [\n                    {\n                        date: dateEnv.toDate(date),\n                        allDay: true,\n                        dayEl: dayEl,\n                        moreEl: moreEl,\n                        segs: reslicedAllSegs,\n                        hiddenSegs: reslicedHiddenSegs,\n                        jsEvent: ev,\n                        view: view\n                    }\n                ]);\n            }\n            if (clickOption === 'popover') {\n                _this.showSegPopover(row, col, moreEl, reslicedAllSegs);\n            }\n            else if (typeof clickOption === 'string') { // a view name\n                calendar.zoomTo(date, clickOption);\n            }\n        });\n        return a;\n    };\n    // Reveals the popover that displays all events within a cell\n    DayGrid.prototype.showSegPopover = function (row, col, moreLink, segs) {\n        var _this = this;\n        var _a = this.context, calendar = _a.calendar, view = _a.view, theme = _a.theme, isRtl = _a.isRtl;\n        var _col = isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n        var moreWrap = moreLink.parentNode; // the <div> wrapper around the <a>\n        var topEl; // the element we want to match the top coordinate of\n        var options;\n        if (this.rowCnt === 1) {\n            topEl = view.el; // will cause the popover to cover any sort of header\n        }\n        else {\n            topEl = this.rowEls[row]; // will align with top of row\n        }\n        options = {\n            className: 'fc-more-popover ' + theme.getClass('popover'),\n            parentEl: view.el,\n            top: computeRect(topEl).top,\n            autoHide: true,\n            content: function (el) {\n                _this.segPopoverTile = new DayTile(el);\n                _this.updateSegPopoverTile(_this.props.cells[row][_col].date, segs);\n            },\n            hide: function () {\n                _this.segPopoverTile.destroy();\n                _this.segPopoverTile = null;\n                _this.segPopover.destroy();\n                _this.segPopover = null;\n            }\n        };\n        // Determine horizontal coordinate.\n        // We use the moreWrap instead of the <td> to avoid border confusion.\n        if (isRtl) {\n            options.right = computeRect(moreWrap).right + 1; // +1 to be over cell border\n        }\n        else {\n            options.left = computeRect(moreWrap).left - 1; // -1 to be over cell border\n        }\n        this.segPopover = new Popover(options);\n        this.segPopover.show();\n        calendar.releaseAfterSizingTriggers(); // hack for eventPositioned\n    };\n    // Given the events within an array of segment objects, reslice them to be in a single day\n    DayGrid.prototype.resliceDaySegs = function (segs, dayDate) {\n        var dayStart = dayDate;\n        var dayEnd = addDays(dayStart, 1);\n        var dayRange = { start: dayStart, end: dayEnd };\n        var newSegs = [];\n        for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n            var seg = segs_1[_i];\n            var eventRange = seg.eventRange;\n            var origRange = eventRange.range;\n            var slicedRange = intersectRanges(origRange, dayRange);\n            if (slicedRange) {\n                newSegs.push(tslib_1.__assign({}, seg, { eventRange: {\n                        def: eventRange.def,\n                        ui: tslib_1.__assign({}, eventRange.ui, { durationEditable: false }),\n                        instance: eventRange.instance,\n                        range: slicedRange\n                    }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() }));\n            }\n        }\n        return newSegs;\n    };\n    // Generates the text that should be inside a \"more\" link, given the number of events it represents\n    DayGrid.prototype.getMoreLinkText = function (num) {\n        var opt = this.context.options.eventLimitText;\n        if (typeof opt === 'function') {\n            return opt(num);\n        }\n        else {\n            return '+' + num + ' ' + opt;\n        }\n    };\n    // Returns segments within a given cell.\n    // If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.\n    DayGrid.prototype.getCellSegs = function (row, col, startLevel) {\n        var segMatrix = this.eventRenderer.rowStructs[row].segMatrix;\n        var level = startLevel || 0;\n        var segs = [];\n        var seg;\n        while (level < segMatrix.length) {\n            seg = segMatrix[level][col];\n            if (seg) {\n                segs.push(seg);\n            }\n            level++;\n        }\n        return segs;\n    };\n    return DayGrid;\n}(DateComponent));\nexport default DayGrid;\n","import * as tslib_1 from \"tslib\";\nimport { htmlEscape, createElement, findElements, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, distributeHeight, undistributeHeight, createFormatter, ScrollComponent, View, buildGotoAnchorHtml, memoize, memoizeRendering } from '@fullcalendar/core';\nimport DayGridDateProfileGenerator from './DayGridDateProfileGenerator';\nimport DayGrid from './DayGrid';\nvar WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\nvar AbstractDayGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(AbstractDayGridView, _super);\n    function AbstractDayGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.processOptions = memoize(_this._processOptions);\n        _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);\n        /* Header Rendering\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that will go before the day-of week header cells\n        _this.renderHeadIntroHtml = function () {\n            var _a = _this.context, theme = _a.theme, options = _a.options;\n            if (_this.colWeekNumbersVisible) {\n                return '' +\n                    '<th class=\"fc-week-number ' + theme.getClass('widgetHeader') + '\" ' + _this.weekNumberStyleAttr() + '>' +\n                    '<span>' + // needed for matchCellWidths\n                    htmlEscape(options.weekLabel) +\n                    '</span>' +\n                    '</th>';\n            }\n            return '';\n        };\n        /* Day Grid Rendering\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that will go before content-skeleton cells that display the day/week numbers\n        _this.renderDayGridNumberIntroHtml = function (row, dayGrid) {\n            var _a = _this.context, options = _a.options, dateEnv = _a.dateEnv;\n            var weekStart = dayGrid.props.cells[row][0].date;\n            if (_this.colWeekNumbersVisible) {\n                return '' +\n                    '<td class=\"fc-week-number\" ' + _this.weekNumberStyleAttr() + '>' +\n                    buildGotoAnchorHtml(// aside from link, important for matchCellWidths\n                    options, dateEnv, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT) // inner HTML\n                    ) +\n                    '</td>';\n            }\n            return '';\n        };\n        // Generates the HTML that goes before the day bg cells for each day-row\n        _this.renderDayGridBgIntroHtml = function () {\n            var theme = _this.context.theme;\n            if (_this.colWeekNumbersVisible) {\n                return '<td class=\"fc-week-number ' + theme.getClass('widgetContent') + '\" ' + _this.weekNumberStyleAttr() + '></td>';\n            }\n            return '';\n        };\n        // Generates the HTML that goes before every other type of row generated by DayGrid.\n        // Affects mirror-skeleton and highlight-skeleton rows.\n        _this.renderDayGridIntroHtml = function () {\n            if (_this.colWeekNumbersVisible) {\n                return '<td class=\"fc-week-number\" ' + _this.weekNumberStyleAttr() + '></td>';\n            }\n            return '';\n        };\n        return _this;\n    }\n    AbstractDayGridView.prototype._processOptions = function (options) {\n        if (options.weekNumbers) {\n            if (options.weekNumbersWithinDays) {\n                this.cellWeekNumbersVisible = true;\n                this.colWeekNumbersVisible = false;\n            }\n            else {\n                this.cellWeekNumbersVisible = false;\n                this.colWeekNumbersVisible = true;\n            }\n        }\n        else {\n            this.colWeekNumbersVisible = false;\n            this.cellWeekNumbersVisible = false;\n        }\n    };\n    AbstractDayGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context);\n        this.processOptions(context.options);\n        this.renderSkeleton(context);\n    };\n    AbstractDayGridView.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderSkeleton.unrender();\n    };\n    AbstractDayGridView.prototype._renderSkeleton = function (context) {\n        this.el.classList.add('fc-dayGrid-view');\n        this.el.innerHTML = this.renderSkeletonHtml();\n        this.scroller = new ScrollComponent('hidden', // overflow x\n        'auto' // overflow y\n        );\n        var dayGridContainerEl = this.scroller.el;\n        this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);\n        dayGridContainerEl.classList.add('fc-day-grid-container');\n        var dayGridEl = createElement('div', { className: 'fc-day-grid' });\n        dayGridContainerEl.appendChild(dayGridEl);\n        this.dayGrid = new DayGrid(dayGridEl, {\n            renderNumberIntroHtml: this.renderDayGridNumberIntroHtml,\n            renderBgIntroHtml: this.renderDayGridBgIntroHtml,\n            renderIntroHtml: this.renderDayGridIntroHtml,\n            colWeekNumbersVisible: this.colWeekNumbersVisible,\n            cellWeekNumbersVisible: this.cellWeekNumbersVisible\n        });\n    };\n    AbstractDayGridView.prototype._unrenderSkeleton = function () {\n        this.el.classList.remove('fc-dayGrid-view');\n        this.dayGrid.destroy();\n        this.scroller.destroy();\n    };\n    // Builds the HTML skeleton for the view.\n    // The day-grid component will render inside of a container defined by this HTML.\n    AbstractDayGridView.prototype.renderSkeletonHtml = function () {\n        var _a = this.context, theme = _a.theme, options = _a.options;\n        return '' +\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n            (options.columnHeader ?\n                '<thead class=\"fc-head\">' +\n                    '<tr>' +\n                    '<td class=\"fc-head-container ' + theme.getClass('widgetHeader') + '\">&nbsp;</td>' +\n                    '</tr>' +\n                    '</thead>' :\n                '') +\n            '<tbody class=\"fc-body\">' +\n            '<tr>' +\n            '<td class=\"' + theme.getClass('widgetContent') + '\"></td>' +\n            '</tr>' +\n            '</tbody>' +\n            '</table>';\n    };\n    // Generates an HTML attribute string for setting the width of the week number column, if it is known\n    AbstractDayGridView.prototype.weekNumberStyleAttr = function () {\n        if (this.weekNumberWidth != null) {\n            return 'style=\"width:' + this.weekNumberWidth + 'px\"';\n        }\n        return '';\n    };\n    // Determines whether each row should have a constant height\n    AbstractDayGridView.prototype.hasRigidRows = function () {\n        var eventLimit = this.context.options.eventLimit;\n        return eventLimit && typeof eventLimit !== 'number';\n    };\n    /* Dimensions\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractDayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {\n        _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first\n        this.dayGrid.updateSize(isResize);\n    };\n    // Refreshes the horizontal dimensions of the view\n    AbstractDayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {\n        var dayGrid = this.dayGrid;\n        var eventLimit = this.context.options.eventLimit;\n        var headRowEl = this.header ? this.header.el : null; // HACK\n        var scrollerHeight;\n        var scrollbarWidths;\n        // hack to give the view some height prior to dayGrid's columns being rendered\n        // TODO: separate setting height from scroller VS dayGrid.\n        if (!dayGrid.rowEls) {\n            if (!isAuto) {\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            return;\n        }\n        if (this.colWeekNumbersVisible) {\n            // Make sure all week number cells running down the side have the same width.\n            this.weekNumberWidth = matchCellWidths(findElements(this.el, '.fc-week-number'));\n        }\n        // reset all heights to be natural\n        this.scroller.clear();\n        if (headRowEl) {\n            uncompensateScroll(headRowEl);\n        }\n        dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n        // is the event limit a constant level number?\n        if (eventLimit && typeof eventLimit === 'number') {\n            dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after\n        }\n        // distribute the height to the rows\n        // (viewHeight is a \"recommended\" value if isAuto)\n        scrollerHeight = this.computeScrollerHeight(viewHeight);\n        this.setGridHeight(scrollerHeight, isAuto);\n        // is the event limit dynamically calculated?\n        if (eventLimit && typeof eventLimit !== 'number') {\n            dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set\n        }\n        if (!isAuto) { // should we force dimensions of the scroll container?\n            this.scroller.setHeight(scrollerHeight);\n            scrollbarWidths = this.scroller.getScrollbarWidths();\n            if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n                if (headRowEl) {\n                    compensateScroll(headRowEl, scrollbarWidths);\n                }\n                // doing the scrollbar compensation might have created text overflow which created more height. redo\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            // guarantees the same scrollbar widths\n            this.scroller.lockOverflow(scrollbarWidths);\n        }\n    };\n    // given a desired total height of the view, returns what the height of the scroller should be\n    AbstractDayGridView.prototype.computeScrollerHeight = function (viewHeight) {\n        return viewHeight -\n            subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n    };\n    // Sets the height of just the DayGrid component in this view\n    AbstractDayGridView.prototype.setGridHeight = function (height, isAuto) {\n        if (this.context.options.monthMode) {\n            // if auto, make the height of each row the height that it would be if there were 6 weeks\n            if (isAuto) {\n                height *= this.dayGrid.rowCnt / 6;\n            }\n            distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows\n        }\n        else {\n            if (isAuto) {\n                undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding\n            }\n            else {\n                distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows\n            }\n        }\n    };\n    /* Scroll\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractDayGridView.prototype.computeDateScroll = function (duration) {\n        return { top: 0 };\n    };\n    AbstractDayGridView.prototype.queryDateScroll = function () {\n        return { top: this.scroller.getScrollTop() };\n    };\n    AbstractDayGridView.prototype.applyDateScroll = function (scroll) {\n        if (scroll.top !== undefined) {\n            this.scroller.setScrollTop(scroll.top);\n        }\n    };\n    return AbstractDayGridView;\n}(View));\nexport default AbstractDayGridView;\nAbstractDayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;\n","import * as tslib_1 from \"tslib\";\nimport { DateComponent, Slicer } from '@fullcalendar/core';\nvar SimpleDayGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(SimpleDayGrid, _super);\n    function SimpleDayGrid(dayGrid) {\n        var _this = _super.call(this, dayGrid.el) || this;\n        _this.slicer = new DayGridSlicer();\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    SimpleDayGrid.prototype.firstContext = function (context) {\n        context.calendar.registerInteractiveComponent(this, { el: this.dayGrid.el });\n    };\n    SimpleDayGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.context.calendar.unregisterInteractiveComponent(this);\n    };\n    SimpleDayGrid.prototype.render = function (props, context) {\n        var dayGrid = this.dayGrid;\n        var dateProfile = props.dateProfile, dayTable = props.dayTable;\n        dayGrid.receiveProps(tslib_1.__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, context.calendar, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }), context);\n    };\n    SimpleDayGrid.prototype.buildPositionCaches = function () {\n        this.dayGrid.buildPositionCaches();\n    };\n    SimpleDayGrid.prototype.queryHit = function (positionLeft, positionTop) {\n        var rawHit = this.dayGrid.positionToHit(positionLeft, positionTop);\n        if (rawHit) {\n            return {\n                component: this.dayGrid,\n                dateSpan: rawHit.dateSpan,\n                dayEl: rawHit.dayEl,\n                rect: {\n                    left: rawHit.relativeRect.left,\n                    right: rawHit.relativeRect.right,\n                    top: rawHit.relativeRect.top,\n                    bottom: rawHit.relativeRect.bottom\n                },\n                layer: 0\n            };\n        }\n    };\n    return SimpleDayGrid;\n}(DateComponent));\nexport default SimpleDayGrid;\nvar DayGridSlicer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridSlicer, _super);\n    function DayGridSlicer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    DayGridSlicer.prototype.sliceRange = function (dateRange, dayTable) {\n        return dayTable.sliceRange(dateRange);\n    };\n    return DayGridSlicer;\n}(Slicer));\nexport { DayGridSlicer };\n","import * as tslib_1 from \"tslib\";\nimport { DayHeader, memoize, DaySeries, DayTable } from '@fullcalendar/core';\nimport AbstractDayGridView from './AbstractDayGridView';\nimport SimpleDayGrid from './SimpleDayGrid';\nvar DayGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridView, _super);\n    function DayGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.buildDayTable = memoize(buildDayTable);\n        return _this;\n    }\n    DayGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context); // will call _renderSkeleton/_unrenderSkeleton\n        var dateProfile = this.props.dateProfile;\n        var dayTable = this.dayTable =\n            this.buildDayTable(dateProfile, props.dateProfileGenerator);\n        if (this.header) {\n            this.header.receiveProps({\n                dateProfile: dateProfile,\n                dates: dayTable.headerDates,\n                datesRepDistinctDays: dayTable.rowCnt === 1,\n                renderIntroHtml: this.renderHeadIntroHtml\n            }, context);\n        }\n        this.simpleDayGrid.receiveProps({\n            dateProfile: dateProfile,\n            dayTable: dayTable,\n            businessHours: props.businessHours,\n            dateSelection: props.dateSelection,\n            eventStore: props.eventStore,\n            eventUiBases: props.eventUiBases,\n            eventSelection: props.eventSelection,\n            eventDrag: props.eventDrag,\n            eventResize: props.eventResize,\n            isRigid: this.hasRigidRows(),\n            nextDayThreshold: this.context.nextDayThreshold\n        }, context);\n    };\n    DayGridView.prototype._renderSkeleton = function (context) {\n        _super.prototype._renderSkeleton.call(this, context);\n        if (context.options.columnHeader) {\n            this.header = new DayHeader(this.el.querySelector('.fc-head-container'));\n        }\n        this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);\n    };\n    DayGridView.prototype._unrenderSkeleton = function () {\n        _super.prototype._unrenderSkeleton.call(this);\n        if (this.header) {\n            this.header.destroy();\n        }\n        this.simpleDayGrid.destroy();\n    };\n    return DayGridView;\n}(AbstractDayGridView));\nexport default DayGridView;\nexport function buildDayTable(dateProfile, dateProfileGenerator) {\n    var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);\n    return new DayTable(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n","import { createPlugin } from '@fullcalendar/core';\nimport DayGridView from './DayGridView';\nexport { default as SimpleDayGrid, DayGridSlicer } from './SimpleDayGrid';\nexport { default as DayGrid } from './DayGrid';\nexport { default as AbstractDayGridView } from './AbstractDayGridView';\nexport { default as DayGridView, buildDayTable as buildBasicDayTable } from './DayGridView';\nexport { default as DayBgRow } from './DayBgRow';\nexport default createPlugin({\n    defaultView: 'dayGridMonth',\n    views: {\n        dayGrid: DayGridView,\n        dayGridDay: {\n            type: 'dayGrid',\n            duration: { days: 1 }\n        },\n        dayGridWeek: {\n            type: 'dayGrid',\n            duration: { weeks: 1 }\n        },\n        dayGridMonth: {\n            type: 'dayGrid',\n            duration: { months: 1 },\n            monthMode: true,\n            fixedWeekCount: true\n        }\n    }\n});\n"],"names":["tslib_1.__extends","tslib_1.__assign","WEEK_NUM_FORMAT"],"mappings":"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"}