text: 
  
  
  
  
  
  <!DOCTYPE html>
  <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark">
    <head>
      <meta charset="utf-8">
    <link rel="dns-prefetch" href="https://github.githubassets.com">
    <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
    <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
    <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
    <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
    <link rel="preconnect" href="https://avatars.githubusercontent.com">
  
  
  
    <link crossorigin="anonymous" media="all" integrity="sha512-1G4rYJktwRTQKn7fVfJUxH8RRZFUJlGo77xMZfBfIhZPx4BHVrzPE1VgnafttXI8G3y/PywH3uXyhNkSLp3+oA==" rel="stylesheet" href="https://github.githubassets.com/assets/light-d46e2b60992dc114d02a7edf55f254c4.css" /><link crossorigin="anonymous" media="all" integrity="sha512-hI5b2oqTE9njfjYrfuzXqA4bSGSNrE5OMc9IiFhZy+RDGg9Qn4Si1A97o0MlinlwFt3xAifvoLX0s7jHmHSvVw==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-848e5bda8a9313d9e37e362b7eecd7a8.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-klQdb3t14AYaRMkB0v9buaf5Ftfbec/sbxdkvyQpG6oBvzZxxH6N5QwA4llOyZsoyjqiZaTra2ci5TgInnLqQg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-92541d6f7b75e0061a44c901d2ff5bb9.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-CBsfpBvg1D/Hvn8FFY4JwUVgoKjgynOSFKwgThDHrHASVid/Isgz0ueab5xSuSVx8vEvNL9UfYcpWIJRJYTCjg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-081b1fa41be0d43fc7be7f05158e09c1.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-09ipkynAtzCqasl2D2//N51bUOVnOzBFdadcXdMWyphI81s1FWmJ9AD1NRq3e0PMfiJEiVSm9mjTYd7gv2xtWA==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-d3d8a99329c0b730aa6ac9760f6fff37.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-OJwnC/pGdOV3QMoWud8vp0nxtQhtzAcpNWB7mSSh/e7fPslExSb07EOdNTAJsBAS4bN7Yrdxm2F7htANgTIMsA==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-389c270bfa4674e57740ca16b9df2fa7.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-5swg0RJGlhj0UH3SLkJ6e/BYm/DmpyGTaUSCUBhf1HtC4lBV+zM9mxOQ8febH318pxcUzUpp09qi0z7EKfWuDQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-e6cc20d112469618f4507dd22e427a7b.css" />
    <link crossorigin="anonymous" media="all" integrity="sha512-T3N453hWCYsL8yKfu3yye2yyO/D51Lq2iT5svAdl7UKvV2rBPcV7iOgr3fihzB9vYV7YFIK3PxpyTTkfxAshog==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-4f7378e77856098b0bf3229fbb7cb27b.css" />
    <link crossorigin="anonymous" media="all" integrity="sha512-vdBj9soZ1sv1sk1w/3gSN/GIvtujnOijhsPxpSTYeEi+JxG2RRMoxeX/Wm1im872T4nDvESWCV+9OttgcqWrmQ==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-bdd063f6ca19d6cbf5b24d70ff781237.css" />
    <link crossorigin="anonymous" media="all" integrity="sha512-MCJFYfbQoT4EXC6aWx5Wghs8FC/jslHEeN2iWXphliccmede2dQlhIBTAUCBq9Yu5poltu4askungzvyCsycGg==" rel="stylesheet" href="https://github.githubassets.com/assets/tab-size-fix-30224561f6d0a13e045c2e9a5b1e5682.css" />
    
    
    
    <link crossorigin="anonymous" media="all" integrity="sha512-IlvVHZ0Xr8uM3B4XL0IlaCuhte+PIBhiH56RBvdJbEb8qZRIPaq/LbZ6zVm1Yus2J64u+Kt74H8pt4xE557yYg==" rel="stylesheet" href="https://github.githubassets.com/assets/github-225bd51d9d17afcb8cdc1e172f422568.css" />
  
    <script crossorigin="anonymous" defer="defer" integrity="sha512-K/kjAAGVhlckApEbskyYOB+ASq3m0GKyJk3y0JoEafwknEbUpmilodEuQQJG09c0v1eCRlX7mSQp+GLGtXmWQg==" type="application/javascript" src="https://github.githubassets.com/assets/environment-2bf92300.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-KIL/ILzlhNB1TKzHAmvRn9D9SOhIdskXGUnRgWYvc8YmX0OF/848P9ey0PO3BArC8toL6c9KbZwyoMYtVwVdxw==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-2882ff20.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-pEuiC5g/bPxJ6DWhOK4vgGNJ82p1B9O9OrUM4c8qCrzkZqAsDILOk8S3wr7ToHsGAa0UOyM7Y4dscERce7tARQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-a44ba20b.js"></script>
    
    <script crossorigin="anonymous" defer="defer" integrity="sha512-grRfNqb6s3UA1LjZAThHs3pEvBUcJxL5+XECOHrBTELvXtJlbdq9GBCfmrQ5/kiMDrrkr7EsH8C/Z3hdjIyfmw==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-82b45f36.js"></script>
    
      <script crossorigin="anonymous" defer="defer" integrity="sha512-ODZJzCJpaOfusrIka5QVZQcPiO9LBGyrrMYjhhJWSLuCN5WbZ5xiEiiOPOKVu71dqygyRdB2TY7AKPA1J5hqdg==" type="application/javascript" data-module-id="./chunk-unveil.js" data-src="https://github.githubassets.com/assets/chunk-unveil-383649cc.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-emPgUbSwW9ezLCgRnTE7n4fbbfc/MqEEDHmnkmG61dTyjWKHTYKN4wN3OPS7SY0fwmSJ8mB5+gng2nZw4/HsUg==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-7a63e051.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-x6L94lNXrnj4GyXhVug6j63GettxBVe/yQmgJU42IbfJet6sW2RBDG4tbZVkLbOCiYrNy+1Zwvoc1gA6uzSPow==" type="application/javascript" data-module-id="./chunk-input-demux.js" data-src="https://github.githubassets.com/assets/chunk-input-demux-c7a2fde2.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-d9zLk770daEV3pV4uNV22h2h49h/QxYstihxVyOEMetKZVhZcWW9bbqXOp2e1I7sIpuIj3xcpUSdlZKJxdl3tw==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-77dccb93.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-qD/5tz/GcwW3JIAEWlYOhr1tAQARpth6oFJ4ZpDWSpBgCiX4yh9FyUAGwuJtpPpMdp09fAjM6yh6r98Tw4/iRw==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-a83ff9b7.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-ynV5nM8UuCr4KZ/msFeRxRL6LnG+XUKzIfh6LNIzQ21ecjLVPvm53ghTE54aIuSUaHJWHnsYg8FRzycZIcRHiA==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-ca75799c.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-GhqHDMwaAgqUsjVyltYVhaaLYy2G887rPRXXNbsdaI+Xm3dh0fbaHLhZns70EjFAEpXBgCAYFYdnlG1IQFmz1A==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-1a1a870c.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-gmw7obKL/JEHWPp6zWFh+ynbXUFOidj1DN2aPiTDwP8Gair0moVuDmA340LD84A29I3ZPak19CEiumG+oIiseg==" type="application/javascript" data-module-id="./chunk-tag-input.js" data-src="https://github.githubassets.com/assets/chunk-tag-input-826c3ba1.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Ao9llFIlj54ApuKf2QLboXukbu2h7MHfMmtYHrrsVe1lprKNLiA0usVcRpvruKhfT5STDuWm/GGmyx8ox27hWQ==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-028f6594.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-SPWd3rzrxmU6xW6vy1JPWCd+3uWFWmnd0MVGpmw/TpHWUAdLWDqL8kWyC/sBIZJmda4mTtUO1DHJQzAXRSrC+g==" type="application/javascript" data-module-id="./chunk-cookies.js" data-src="https://github.githubassets.com/assets/chunk-cookies-48f59dde.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-4vVRplWFI7P4m3RHQ0QAhkq6eZUdtIE8PBhsKYJRwDkhQw9iK/U1st1/fM1tQZFuBFwGMyqaZblbWtQ+2ejcqQ==" type="application/javascript" data-module-id="./chunk-slug.js" data-src="https://github.githubassets.com/assets/chunk-slug-e2f551a6.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-MK53GXbb2BPV+ADlEbJbkrvg34WPcAd5RC2nBJhUH1tR/Mjr9xrsf56ptBajfWcIWKRKbqqRtLktgr0wAbB3zw==" type="application/javascript" data-module-id="./chunk-async-export.js" data-src="https://github.githubassets.com/assets/chunk-async-export-30ae7719.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-tw9SApiMkftVBYeb6/VGhEwGNw8tlyBhXc9RVXH4UbCD6u+48uuCMvXf3bxvBdOld0OoYg83SnD2mgJWhdaTiQ==" type="application/javascript" data-module-id="./chunk-premium-runners.js" data-src="https://github.githubassets.com/assets/chunk-premium-runners-b70f5202.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-D576CjzS9sbDqFBJdq0Y6+KVMHXkO6mLFO/GRL1NtoE8jgXjAvmdjoZ4nNMWyDwqbtBHspvupORzE9L+YoBLYQ==" type="application/javascript" data-module-id="./chunk-get-repo-element.js" data-src="https://github.githubassets.com/assets/chunk-get-repo-element-0f9efa0a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-9XVk9vw76t7ixhi61W73LF7jFIcjXtt/XA788hUmoGJTs5H2Zf/CEakkY6QcyG3Jc2nZqMh9pA5IRZraC3r8Kw==" type="application/javascript" data-module-id="./chunk-query.js" data-src="https://github.githubassets.com/assets/chunk-query-f57564f6.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-xhSAO0KtnFAlRqAK+mg8BPj/J334ccvnCmmjmBQBCgZcsoO9teHJSS6oAn3XOWYFsWPU2JehwG7S3OVEbLwdUg==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-c614803b.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-jitxouuFY6SUcDZV5W3jhadVEIfFBfCQZxfPV3kxNnsWEBzbxMJFp0ccLb7+OlBjSs1zU/MNtuOV6T9Ay7lx4w==" type="application/javascript" data-module-id="./chunk-copy.js" data-src="https://github.githubassets.com/assets/chunk-copy-8e2b71a2.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-sAeL7y7Tbq5g07u3/0pJIS9IegVGfOVwfX7LQfKPna4UYzOQtcjfAJnwXSHWbAG7jSy4jQKtsukdRuQLX8JrGQ==" type="application/javascript" data-module-id="./chunk-voting.js" data-src="https://github.githubassets.com/assets/chunk-voting-b0078bef.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-HDsLJf6gAN+WDFaJneJwmIY82XkZKWqeX7tStBLRh1XM53K8vMV6JZvjq/UQXszaNVWxWcuYtgYTG6ZWo8+QSw==" type="application/javascript" data-module-id="./chunk-confetti.js" data-src="https://github.githubassets.com/assets/chunk-confetti-1c3b0b25.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Jm91haHZxrhZUNUTJjxVpQdGcJwkbXkupgnVWT/GunQM8NN7k9a48rWrF3rf9/ElJ9sOmP54OzFXiPy82TjCgg==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-266f7585.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Gr3ZcJt5t73JeBM3NwOEziKyDZ3HpHwzqZL/c1pgTUfo+6QC5f88XXRw/RT6X2diwqvaa3OVFh0oWsZ9ZxhtdQ==" type="application/javascript" data-module-id="./chunk-tip.js" data-src="https://github.githubassets.com/assets/chunk-tip-1abdd970.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-EdQvlnI4Pu5Q6K0HCvp+mi0Vw9ZuwaEuhbnCbmFKX+c0xwiUWY0L3n9P0F6doLhaHhfpvW3718+miL11WG4BeA==" type="application/javascript" data-module-id="./chunk-line.js" data-src="https://github.githubassets.com/assets/chunk-line-11d42f96.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-4zSHP2sQXPKoN9jFy8q2ThHsQNej8s4qhubSR4g0/2dTexAEnoTG+RbaffdIhmjfghGjpS/DlE0cdSTFEOcipQ==" type="application/javascript" data-module-id="./chunk-array.js" data-src="https://github.githubassets.com/assets/chunk-array-e334873f.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-g8fb6U7h9SkWgiK69nfNMn4aN5D2YBYPZUbCIuLpemWoOw8NOaZY8Z0hPq4RUVs4+bYdCFR6K719k8lwFeUijg==" type="application/javascript" data-module-id="./chunk-band.js" data-src="https://github.githubassets.com/assets/chunk-band-83c7dbe9.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-6oWCu7ltWLHlroIRg8mR6RloC1wqKS9aK9e5THWgzaE2GNPAdoC+MLZEYD/TdIiZxsQRev0RInyonsXGBK0aMw==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-ea8582bb.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-miaiZ1xkDsWBUsURHOmeYtbgVKQGnm1octCo/lDXUmPzDyjtubnHULRVw1AK+sttwdwyB0+LOyhIVAWCNSGx+A==" type="application/javascript" data-module-id="./chunk-delayed-loading-element.js" data-src="https://github.githubassets.com/assets/chunk-delayed-loading-element-9a26a267.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-GD25CNhMGDMzEmeFhUT0FILBupAkx5/CHohnYXOP1togy40O0iu/lASaSp3gV8ue0nwscalJVQqR5gKDRHHDVg==" type="application/javascript" data-module-id="./chunk-three.module.js" data-src="https://github.githubassets.com/assets/chunk-three.module-183db908.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Ofk7ddnMsJ6F9d2vCuPQav+FG9Rg8i6WRG2KmbzwT01S9H4y58Fl42zYxDh/lJjOWeSyOB9KJyfIkdpCCTYG9A==" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-39f93b75.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-vFR+IqThljOLrAWmjhOL/kiQrjgZZg95uPovX0J7kRH5p7Y049LDRZaXLMDijfeqqk71d3MMn9XP5bUcH+lB9w==" type="application/javascript" data-module-id="./chunk-profile.js" data-src="https://github.githubassets.com/assets/chunk-profile-bc547e22.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-W3TFrSn3Iqu38aVxxYxFiNGzaVmLXtGfwRDVRH1RwRvqPVerX1fjQPEYag+HqAoWaGy5ssVFp42oyOIV93afBw==" type="application/javascript" data-module-id="./chunk-overview.js" data-src="https://github.githubassets.com/assets/chunk-overview-5b74c5ad.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-xqw233932eUGcGURAPuwUWZpC5Km/9Btq7/2Jnkt1rSWnPSVfMl+JKpr9eLtCoQmrpgP8vaghEuX8bWAS8fzTg==" type="application/javascript" data-module-id="./chunk-advanced.js" data-src="https://github.githubassets.com/assets/chunk-advanced-c6ac36df.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-6Rmd0BBAsJ9ouvb/pgrkToMPs5ogcqi8rcQ7R3GDPPHIjlu0NZ0Bx6HUn/aOruMCECETHm4Exfs5gjYdHs66RQ==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-e9199dd0.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-5H5N/3G/20nmVKntphXb9z0H9q3URFDmHSccLhFkMSA8ILAA9mYlRKCWAWoDcl/W437jtGw1tIxjWStfInvidw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-e47e4dff.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-LrD2kFGlUY4JxKVeN3dgYfuhfq0akTPGHtqW0gxkM2sDqVY6pauK2k57tmMHw4TQdcUrs+RQnBc1HPD+ou+ZfQ==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-2eb0f690.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-EvJ2Fip59DXgARNuwTWgjdVqoCjhXQL73SP9yexijlWStKq92sfbKeGK5R4wIP0QOr39WsnW/Kaw3Wpl1QPfog==" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-12f27616.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-91JzWtpBUoC7Z4dQpeXRegjwCMooGPFtg/vXxaIGVTxguoOcI/hEdyM7otQGRNQmMencK71thI0oGt11Wgfrww==" type="application/javascript" data-module-id="./chunk-insights-query.js" data-src="https://github.githubassets.com/assets/chunk-insights-query-f752735a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-D/5Ad6jlKQNRPSHbVN5ShlFXOTyRsKbT7O0cWbVHwtOZ/UrwOC5bHKaQFHTq46qeMBbFKyDG+oIdtm5G8NifDA==" type="application/javascript" data-module-id="./chunk-remote-clipboard-copy.js" data-src="https://github.githubassets.com/assets/chunk-remote-clipboard-copy-0ffe4077.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-eO/r0W5ywI2kxVkcH8yquw3n5Gh+cA8lVOgxd+ecgJYU81FB4Q5FqFxgHhx1omigPwexB4ltwXBMDhSeW6qNeQ==" type="application/javascript" data-module-id="./chunk-series-table.js" data-src="https://github.githubassets.com/assets/chunk-series-table-78efebd1.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-eCSMVL1aAfhWSme4/3seObqN3HNdkxWVKaAX5bmZmxIXZdv0ixnuFJeESYdLeMED/wQETtQ971A03mLF3ZX8eQ==" type="application/javascript" data-module-id="./chunk-line-chart.js" data-src="https://github.githubassets.com/assets/chunk-line-chart-78248c54.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-rZhcZvsxbGBxibYeNv4aHYZkgZzW6xnRcAqmuOCbq/ehJgr75pxgiV7HrGrYrX9HNmyH8T+90HC9WSBZNM4L3g==" type="application/javascript" data-module-id="./chunk-bar-chart.js" data-src="https://github.githubassets.com/assets/chunk-bar-chart-ad985c66.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-/QP5yDdYoor56F2+SyPr/8a9FtvCZnnGP0d+lSAHQR5n+xYjaiY6LjJGB/x1cevAH8r4XY/axNN9fRWIfbwAcA==" type="application/javascript" data-module-id="./chunk-stacked-area-chart.js" data-src="https://github.githubassets.com/assets/chunk-stacked-area-chart-fd03f9c8.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-GohDpVrxfHqlavb8Zabvj+y/s6CHegYwyGpQxKtzR2MkQsynBC98LdLongRFMHI+TKAECLavp200Lsy9JbV5TQ==" type="application/javascript" data-module-id="./chunk-presence-avatars.js" data-src="https://github.githubassets.com/assets/chunk-presence-avatars-1a8843a5.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-TpHTIXhA/2bI21CVmFL1oS3dv+8zveJVZLOVVAZwXNAAI94Hy70L9vT3Q1Vvkyu4Z2gi2iFdy1a53pfYlEDgnQ==" type="application/javascript" data-module-id="./chunk-pulse-authors-graph-element.js" data-src="https://github.githubassets.com/assets/chunk-pulse-authors-graph-element-4e91d321.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-aNAcFMlIdG1ocY5LnZylnN/6KXiJxyPvKg7y1Jnai732wdnrjXazcvNiQkRnj5FY8WP6JRa3K4doCReA4nhj7w==" type="application/javascript" data-module-id="./chunk-stacks-input-config-view.js" data-src="https://github.githubassets.com/assets/chunk-stacks-input-config-view-68d01c14.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-MXXdKvrDUhz9jfXB1/McrPebK8VbV5haYcxcNt5WXgbUym55dZattmCIAK2pJFAD2h4aBUFHo7CzpjmDYf7EkQ==" type="application/javascript" data-module-id="./chunk-community-contributions.js" data-src="https://github.githubassets.com/assets/chunk-community-contributions-3175dd2a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-cet9hnkE+vaMPz2lGw4InoQD4ZuVWd+S0JRTspISoRSd2xj9qYD2E7Fnpne5Ic3z6vutruWIuZlzF30ecrFVew==" type="application/javascript" data-module-id="./chunk-discussion-page-views.js" data-src="https://github.githubassets.com/assets/chunk-discussion-page-views-71eb7d86.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-5+v3VN/rhJv/1iAOVphuCGs1FM9eUlSB43CJLw1txGMLvuPNNz/xHQbzTOIW+t2NKFpTnptRvKbuicQ3Jp28UQ==" type="application/javascript" data-module-id="./chunk-discussions-daily-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-daily-contributors-e7ebf754.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-/PSS3erY5t+SZL9B5T6Edgzy2pLD3jx7G/ZqQE+UCPhaaMEEc8Qrhv5XTREOOX0e3DquvxVDDM/KVa6SK/BPcA==" type="application/javascript" data-module-id="./chunk-discussions-new-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-new-contributors-fcf492dd.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-cFe9WuBCDrJOiGiTm4+TEi7fPqhRTxRZbqng2GxfPrENGiyxllCL2NDjwgANC1PTe8UU6ATCFnK9JAgcph2rtA==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-7057bd5a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-AVKfqEKBF/JCvS2PoakItu304k6gGt9oSMBW2R/eEfGsGuTmC9QeiQw//IJJKFRQdrzpha/FoC/cws9v6dsujQ==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-01529fa8.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-rgB4C/XatEIjEvdEJWsKRyOYwe2rj4WTWtCzlKT6jA8fR4xgjPnpcl4/QeQOprsfPE7R2BycawtlzHzh/xG0JQ==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-ae00780b.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-4xtjUJAtGhsZOLk+SHoir8MWF0vKHoR4tGlR36xsg1kGrE9ftN4BHe21k2TT5jSkqz5x8z7BfZKj/eUuwcZMEQ==" type="application/javascript" data-module-id="./chunk-launch-code-element.js" data-src="https://github.githubassets.com/assets/chunk-launch-code-element-e31b6350.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-NilVxyBbQNJ61v85EVcC3VjOsz5tz+bOlaR1h1R+jIFXNT8VhoalRgPXREht+R3JIZF5fiqkkHZy3+01pX4ZDg==" type="application/javascript" data-module-id="./chunk-metric-selection-element.js" data-src="https://github.githubassets.com/assets/chunk-metric-selection-element-362955c7.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Gz9BhNH9Dl0I9vfifm3AZ7LBZ/pUynlfr2043a5/vq4F8lKX/2fxnRJ/8o9VdQGhZ3zlGSKq6fdRP4UehhEYLA==" type="application/javascript" data-module-id="./chunk-severity-calculator-element.js" data-src="https://github.githubassets.com/assets/chunk-severity-calculator-element-1b3f4184.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-zuw5mukvMrLwRF4O67NicY45yZb5oP7q9SeE0hUOW9tr/JivVV62TADfRsePpW5TIizqexCs84sPdaxxbLwMcQ==" type="application/javascript" data-module-id="./chunk-command-palette-page-element.js" data-src="https://github.githubassets.com/assets/chunk-command-palette-page-element-ceec399a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-L8eF/C1zshVyNCJjvrsNohvK3IZwLXQmKZJja72jC7M7OoQz+V+Rk8nse+vXYXVCJbImcpOITkS24abHM040ng==" type="application/javascript" data-module-id="./chunk-command-palette-page-stack-element.js" data-src="https://github.githubassets.com/assets/chunk-command-palette-page-stack-element-2fc785fc.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-yXHkwiNZgB6O0iSDKE8jrZzTtTyF8YdFFXHcemhWEPuN3sWs1PQrSwEh0Gw4/B9TIzUfvogbqlJ71yLLuqyM+Q==" type="application/javascript" data-module-id="./chunk-readme-toc-element.js" data-src="https://github.githubassets.com/assets/chunk-readme-toc-element-c971e4c2.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-WtxFYpyZyznX2bQr5Za6UNxUXn7RheDqolsoKRcOTvUA3hxrMym/nWB3FiaNxjI4ZH7ZeF5e2l/PM3Yaj8f1Sg==" type="application/javascript" data-module-id="./chunk-feature-callout-element.js" data-src="https://github.githubassets.com/assets/chunk-feature-callout-element-5adc4562.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-cRl0mhYDAlIPglfEqHiJz2lRAr22HqkKC2c0fiLl2O/30j/wG/poJ0o+6Va1soBDK24dFMZCq/PR0T1C5IFgWQ==" type="application/javascript" data-module-id="./chunk-action-list-element.js" data-src="https://github.githubassets.com/assets/chunk-action-list-element-7119749a.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-Pvx3rTrXcH5VI/XimZxFgsSzMLnRTMXnFd4laAZYre6JAI7349Swv+B1vh+YwFgR1LbZweTCKV1XBovUHhxc/A==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-3efc77ad.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-6JUQHgkTqBaCCdDugMcO4fQ8YxUHk+m6rwVp2Wxa4FMVz6BbBMPOzGluT4wBq8NTUcFv6DnXSOnt5e85jNgpGg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-e895101e.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-28pipPJZvizfcYYETJWBBeDHsrDEz7A06d7Y5swgY/OWmsX0ZJW6mkZVFRO7Z/xZh1D1qFbPHGNixfCd1YpBnA==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-dbca62a4.js"></script>
      <script crossorigin="anonymous" defer="defer" integrity="sha512-y0yuiXfWuIeCCcUBT1jacp25vWnFCJWgwLM5G1VM4tmCHdoQbiVjvW/vuSuEXUjtS8WwdioTD5hVv9UULiUlww==" type="application/javascript" data-module-id="./chunk-webgl-warp.js" data-src="https://github.githubassets.com/assets/chunk-webgl-warp-cb4cae89.js"></script>
    
    <script crossorigin="anonymous" defer="defer" integrity="sha512-qZbRIypXkWZB1E/lrcPh1h/YbWO1VctTEhpxlDqoaP7dc3guToNpKxykwdCjgTFBg1IOYhnrYISKHXxiID7Mbg==" type="application/javascript" src="https://github.githubassets.com/assets/repositories-a996d123.js"></script>
  <script crossorigin="anonymous" defer="defer" integrity="sha512-13W+P3T4HIzCCy087HqurNdeZuSpmKSJxu+dDiTONiGQRVDVGYU8EruEYD+p1aqr0zNvTWUSnEK5QkCSTp2mTw==" type="application/javascript" src="https://github.githubassets.com/assets/diffs-d775be3f.js"></script>
  
    <meta name="viewport" content="width=device-width">
    
    <title>DOMPurify/purify.min.js at main · cure53/DOMPurify · GitHub</title>
      <meta name="description" content="DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: - DOMPurify/purify.min.js at main · cure53/DOMPurify">
      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905" />
      <meta name="twitter:image:src" content="https://opengraph.githubassets.com/113f6394ca451f2f276ce15d17c8dc07fff27e3b97b668381f2cafc9e58508b5/cure53/DOMPurify" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="DOMPurify/purify.min.js at main · cure53/DOMPurify" /><meta name="twitter:description" content="DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: - DOMPurify/pur..." />
      <meta property="og:image" content="https://opengraph.githubassets.com/113f6394ca451f2f276ce15d17c8dc07fff27e3b97b668381f2cafc9e58508b5/cure53/DOMPurify" /><meta property="og:image:alt" content="DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: - DOMPurify/pur..." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="DOMPurify/purify.min.js at main · cure53/DOMPurify" /><meta property="og:url" content="https://github.com/cure53/DOMPurify" /><meta property="og:description" content="DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: - DOMPurify/pur..." />
      
  
  
  
      
  
    <link rel="assets" href="https://github.githubassets.com/">
    
  
    <meta name="request-id" content="E412:C454:39A610:4019AE:61A5B55D" data-pjax-transient="true"/><meta name="html-safe-nonce" content="e4b2d571c56e833a0ecb7a0dbf269a2c66cf8d3060381830816a53c8e82f082b" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNDEyOkM0NTQ6MzlBNjEwOjQwMTlBRTo2MUE1QjU1RCIsInZpc2l0b3JfaWQiOiI1OTk4NDE4ODIyNjQyOTA2NDYxIiwicmVnaW9uX2VkZ2UiOiJmcmEiLCJyZWdpb25fcmVuZGVyIjoiZnJhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="3b9537f6b68b8c633aade84abea61e529dd0db0325f7ab226fe49ced4552bdda" data-pjax-transient="true"/>
  
      <meta name="hovercard-subject-tag" content="repository:16927692" data-pjax-transient>
  
  
    <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
  
    
  
    <meta name="selected-link" value="repo_source" data-pjax-transient>
  
      <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
    <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
    <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
    <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
  
  <meta name="octolytics-url" content="https://collector.githubapp.com/github/collect" />
  
    <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />
  
    
  
  
  
    <meta name="optimizely-datafile" content="{&quot;version&quot;: &quot;4&quot;, &quot;rollouts&quot;: [], &quot;typedAudiences&quot;: [], &quot;anonymizeIP&quot;: true, &quot;projectId&quot;: &quot;16737760170&quot;, &quot;variables&quot;: [], &quot;featureFlags&quot;: [], &quot;experiments&quot;: [{&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20438636352&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20484957397&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20479227424&quot;, &quot;key&quot;: &quot;growth_ghec_onboarding_experience&quot;, &quot;layerId&quot;: &quot;20467848595&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 1000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 3000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 6000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 8000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;85e2238ce2b9074907d7a3d91d6feeae&quot;: &quot;control&quot;}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20667381018&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20680930759&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20652570897&quot;, &quot;key&quot;: &quot;project_genesis&quot;, &quot;layerId&quot;: &quot;20672300363&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20667381018&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20680930759&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;83356e17066d336d1803024138ecb683&quot;: &quot;treatment&quot;, &quot;18e31c8a9b2271332466133162a4aa0d&quot;: &quot;treatment&quot;, &quot;10f8ab3fbc5ebe989a36a05f79d48f32&quot;: &quot;treatment&quot;, &quot;1686089f6d540cd2deeaec60ee43ecf7&quot;: &quot;treatment&quot;}}], &quot;audiences&quot;: [{&quot;conditions&quot;: &quot;[\&quot;or\&quot;, {\&quot;match\&quot;: \&quot;exact\&quot;, \&quot;name\&quot;: \&quot;$opt_dummy_attribute\&quot;, \&quot;type\&quot;: \&quot;custom_attribute\&quot;, \&quot;value\&quot;: \&quot;$opt_dummy_value\&quot;}]&quot;, &quot;id&quot;: &quot;$opt_dummy_audience&quot;, &quot;name&quot;: &quot;Optimizely-Generated Audience for Backwards Compatibility&quot;}], &quot;groups&quot;: [], &quot;sdkKey&quot;: &quot;WTc6awnGuYDdG98CYRban&quot;, &quot;environmentKey&quot;: &quot;production&quot;, &quot;attributes&quot;: [{&quot;id&quot;: &quot;16822470375&quot;, &quot;key&quot;: &quot;user_id&quot;}, {&quot;id&quot;: &quot;17143601254&quot;, &quot;key&quot;: &quot;spammy&quot;}, {&quot;id&quot;: &quot;18175660309&quot;, &quot;key&quot;: &quot;organization_plan&quot;}, {&quot;id&quot;: &quot;18813001570&quot;, &quot;key&quot;: &quot;is_logged_in&quot;}, {&quot;id&quot;: &quot;19073851829&quot;, &quot;key&quot;: &quot;geo&quot;}, {&quot;id&quot;: &quot;20175462351&quot;, &quot;key&quot;: &quot;requestedCurrency&quot;}, {&quot;id&quot;: &quot;20785470195&quot;, &quot;key&quot;: &quot;country_code&quot;}], &quot;botFiltering&quot;: false, &quot;accountId&quot;: &quot;16737760170&quot;, &quot;events&quot;: [{&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;17911811441&quot;, &quot;key&quot;: &quot;hydro_click.dashboard.teacher_toolbox_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18124116703&quot;, &quot;key&quot;: &quot;submit.organizations.complete_sign_up&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18145892387&quot;, &quot;key&quot;: &quot;no_metric.tracked_outside_of_optimizely&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18178755568&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.add_repo&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18180553241&quot;, &quot;key&quot;: &quot;submit.repository_imports.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18186103728&quot;, &quot;key&quot;: &quot;click.help.learn_more_about_repository_creation&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18188530140&quot;, &quot;key&quot;: &quot;test_event.do_not_use_in_production&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18191963644&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.transfer_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18195612788&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.import_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18210945499&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.invite_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18211063248&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.create_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18215721889&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.update_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18224360785&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.dismiss&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18234832286&quot;, &quot;key&quot;: &quot;submit.organization_activation.complete&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18252392383&quot;, &quot;key&quot;: &quot;submit.org_repository.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18257551537&quot;, &quot;key&quot;: &quot;submit.org_member_invitation.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18259522260&quot;, &quot;key&quot;: &quot;submit.organization_profile.update&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18564603625&quot;, &quot;key&quot;: &quot;view.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18568612016&quot;, &quot;key&quot;: &quot;click.classroom_sign_in_click&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18572592540&quot;, &quot;key&quot;: &quot;view.classroom_name&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18574203855&quot;, &quot;key&quot;: &quot;click.classroom_create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18582053415&quot;, &quot;key&quot;: &quot;click.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18589463420&quot;, &quot;key&quot;: &quot;click.classroom_create_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591323364&quot;, &quot;key&quot;: &quot;click.classroom_create_first_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591652321&quot;, &quot;key&quot;: &quot;click.classroom_grant_access&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18607131425&quot;, &quot;key&quot;: &quot;view.classroom_creation&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;18831680583&quot;, &quot;key&quot;: &quot;upgrade_account_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19064064515&quot;, &quot;key&quot;: &quot;click.signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19075373687&quot;, &quot;key&quot;: &quot;click.view_account_billing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19077355841&quot;, &quot;key&quot;: &quot;click.dismiss_signup_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19079713938&quot;, &quot;key&quot;: &quot;click.contact_sales&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19120963070&quot;, &quot;key&quot;: &quot;click.compare_account_plans&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19151690317&quot;, &quot;key&quot;: &quot;click.upgrade_account_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19424193129&quot;, &quot;key&quot;: &quot;click.open_account_switcher&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19520330825&quot;, &quot;key&quot;: &quot;click.visit_account_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19540970635&quot;, &quot;key&quot;: &quot;click.switch_account_context&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19730198868&quot;, &quot;key&quot;: &quot;submit.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19820830627&quot;, &quot;key&quot;: &quot;click.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19988571001&quot;, &quot;key&quot;: &quot;click.create_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20036538294&quot;, &quot;key&quot;: &quot;click.create_organization_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20040653299&quot;, &quot;key&quot;: &quot;click.input_enterprise_trial_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20062030003&quot;, &quot;key&quot;: &quot;click.continue_with_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20068947153&quot;, &quot;key&quot;: &quot;click.create_organization_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20086636658&quot;, &quot;key&quot;: &quot;click.signup_continue.username&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20091648988&quot;, &quot;key&quot;: &quot;click.signup_continue.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20103637615&quot;, &quot;key&quot;: &quot;click.signup_continue.email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20111574253&quot;, &quot;key&quot;: &quot;click.signup_continue.password&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20120044111&quot;, &quot;key&quot;: &quot;view.pricing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20152062109&quot;, &quot;key&quot;: &quot;submit.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20165800992&quot;, &quot;key&quot;: &quot;submit.upgrade_payment_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20171520319&quot;, &quot;key&quot;: &quot;submit.create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20222645674&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.discuss_your_needs&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20227443657&quot;, &quot;key&quot;: &quot;submit.verify_primary_user_email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20234607160&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.try_enterprise&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20238175784&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20239847212&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.continue_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20251097193&quot;, &quot;key&quot;: &quot;recommended_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20438619534&quot;, &quot;key&quot;: &quot;click.pricing_calculator.1_member&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20456699683&quot;, &quot;key&quot;: &quot;click.pricing_calculator.15_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20467868331&quot;, &quot;key&quot;: &quot;click.pricing_calculator.10_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20476267432&quot;, &quot;key&quot;: &quot;click.trial_days_remaining&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20476357660&quot;, &quot;key&quot;: &quot;click.discover_feature&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20479287901&quot;, &quot;key&quot;: &quot;click.pricing_calculator.custom_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20481107083&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_teacher_benefits&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20483089392&quot;, &quot;key&quot;: &quot;click.pricing_calculator.5_members&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20484283944&quot;, &quot;key&quot;: &quot;click.onboarding_task&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20484996281&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_student_benefits&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20486713726&quot;, &quot;key&quot;: &quot;click.onboarding_task_breadcrumb&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20490791319&quot;, &quot;key&quot;: &quot;click.upgrade_to_enterprise&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20491786766&quot;, &quot;key&quot;: &quot;click.talk_to_us&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20494144087&quot;, &quot;key&quot;: &quot;click.dismiss_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20499722759&quot;, &quot;key&quot;: &quot;completed_all_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20500710104&quot;, &quot;key&quot;: &quot;completed_onboarding_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20513160672&quot;, &quot;key&quot;: &quot;click.read_doc&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20516196762&quot;, &quot;key&quot;: &quot;actions_enabled&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20518980986&quot;, &quot;key&quot;: &quot;click.dismiss_trial_banner&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20535446721&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.dismiss_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20557002247&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.setup_workflow&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20595070227&quot;, &quot;key&quot;: &quot;click.pull_request_setup_workflow&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20626600314&quot;, &quot;key&quot;: &quot;click.seats_input&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20642310305&quot;, &quot;key&quot;: &quot;click.decrease_seats_number&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20662990045&quot;, &quot;key&quot;: &quot;click.increase_seats_number&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20679620969&quot;, &quot;key&quot;: &quot;click.public_product_roadmap&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20761240940&quot;, &quot;key&quot;: &quot;click.dismiss_survey_banner&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20767210721&quot;, &quot;key&quot;: &quot;click.take_survey&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20795281201&quot;, &quot;key&quot;: &quot;click.archive_list&quot;}], &quot;revision&quot;: &quot;976&quot;}" />
    <!-- To prevent page flashing, the optimizely JS needs to be loaded in the
      <head> tag before the DOM renders -->
    <script crossorigin="anonymous" defer="defer" integrity="sha512-stPGyO+GUOomTBqs1Y5EJnkYCf8cb/wFveUz/ncDr9XaP9olIwZerGQr4wFA3nBNqhbaqHsYbf0NfWJZ6XHjrg==" type="application/javascript" src="https://github.githubassets.com/assets/optimizely-b2d3c6c8.js"></script>
  
  
  
    
  
        <meta name="hostname" content="github.com">
      <meta name="user-login" content="">
  
  
        <meta name="expected-hostname" content="github.com">
  
  
      <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,FILE_UPLOAD_CURSOR_POSITION">
  
    <meta http-equiv="x-pjax-version" content="475fbe1f2b82f38572d90a3acc2831088f680bb84d96e50a547748894c79266d">
    <meta http-equiv="x-pjax-csp-version" content="9ea82e8060ac9d44365bfa193918b70ed58abd9413362ba412abb161b3a8d1b6">
    <meta http-equiv="x-pjax-css-version" content="5ed6589bb2bb2ace1815efddbaff33d0702c734e4e941186e2a077d02559b3d5">
    <meta http-equiv="x-pjax-js-version" content="d40e7d3f2b266597479ae7f1c0ce621c30f9687d8082e39f90d47d3e7688baf0">
    
  
      
    <meta name="go-import" content="github.com/cure53/DOMPurify git https://github.com/cure53/DOMPurify.git">
  
    <meta name="octolytics-dimension-user_id" content="6709482" /><meta name="octolytics-dimension-user_login" content="cure53" /><meta name="octolytics-dimension-repository_id" content="16927692" /><meta name="octolytics-dimension-repository_nwo" content="cure53/DOMPurify" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="16927692" /><meta name="octolytics-dimension-repository_network_root_nwo" content="cure53/DOMPurify" />
  
  
  
      <link rel="canonical" href="https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js" data-pjax-transient>
  
  
    <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
  
    <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
  
    <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors">
  
    <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
    <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
    <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
  
  <meta name="theme-color" content="#1e2327">
  <meta name="color-scheme" content="light dark" />
  
  
    <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
  
    </head>
  
    <body class="logged-out env-production page-responsive page-blob" style="word-wrap: break-word;">
      
  
      <div class="position-relative js-header-wrapper ">
        <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
        <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full">
      <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar color-bg-accent-emphasis"></span>
  </span>      
        
  
  
          
  
              <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner">
    <div class="container-xl d-lg-flex flex-items-center p-responsive">
      <div class="d-flex flex-justify-between flex-items-center">
        <a class="mr-4 color-fg-inherit" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
          <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
      <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
  </svg>
        </a>
  
          <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
            
  
          </div>
  
        <div class="d-flex flex-items-center">
              <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo"
                class="d-inline-block d-lg-none f5 no-underline border color-border-default rounded-2 px-2 py-1 mr-3 mr-sm-5 color-fg-inherit"
                data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4278c9e6747fb6686f23d50e4b434b05786009a3ddd6d9f5ec20a824af19be9e"
              >
                Sign&nbsp;up
              </a>
  
          <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link d-lg-none mt-1 color-fg-inherit">
    
    
            <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars">
      <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path>
  </svg>
  
    
  
  </button>      </div>
      </div>
  
      <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
        <div class="d-flex d-lg-none flex-justify-end border-bottom color-bg-subtle p-3">
          <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link">
    
    
            <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-x color-fg-muted">
      <path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path>
  </svg>
  
    
  
  </button>      </div>
  
          <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
            <ul class="d-lg-flex list-style-none">
                <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <details class="HeaderMenu-details details-overlay details-reset width-full">
        <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
          Why GitHub?
          <svg x="0" y="0" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg>
        </summary>
        <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
          <ul class="list-style-none f5 pb-1">
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Features&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Features;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="913c07a4ec8de2643d1723ccc45d2406a8cdc6acf7b86f6330a5094a71d04024" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Features&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Features;&quot;}" href="/features">
        Features <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Mobile&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Mobile;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4b0f7118d0e326dc57533083eb1fdbb444dbbe637c35e4577a97154b6a63f15a" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Mobile&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Mobile;&quot;}" href="/mobile">
        Mobile <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Actions;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0925b5f796d6ff371de4662cb1cd30fe807cfc0c5e0a850abbd2d76903d543d9" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Actions;&quot;}" href="/features/actions">
        Actions <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Codespaces;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a0e887994e70a8ad574a37d221506bc97907148fb47c1f44e741bd5c3e174d1c" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Codespaces;&quot;}" href="/features/codespaces">
        Codespaces <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Packages;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8fbdb940521e7329b83ac1e533a581e51918b307417a7fcf5a11abb99d7ab136" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Packages;&quot;}" href="/features/packages">
        Packages <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Security;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fbc5f59f8e7b662262ce321ef1cbfed3e825c5dc24e42144fd4d26bf8ca26dd0" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Security;&quot;}" href="/features/security">
        Security <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Code review;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2eb08fb0636273e9f261241982e39f47df8888eac914a267ad7602d6e16f77ad" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Code review;&quot;}" href="/features/code-review">
        Code review <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Issues;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="331524ebf2ee44dfd2f1ee8d826aa467bab661bd36c2a6dea51371f6edb37fe2" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Issues;&quot;}" href="/features/issues">
        Issues <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Integrations&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Integrations;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="18b55b0abe8c2b30dc29b0c2439b15a7ef35d7ca631c01aa0382c82e36742519" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Integrations&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Integrations;&quot;}" href="/features/integrations">
        Integrations <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold border-top pt-4 pb-2 mt-3" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Sponsors;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="03bcc18eea82a108a1d2cb8ff8b1c443390d04243bf34c9f3b811b43a540b263" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Sponsors;&quot;}" href="/sponsors">
        GitHub Sponsors <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Customer stories&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Customer stories;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7c74407adaf7c9bfcb882fe4546f2d6ec182b0115f430db26ae5d347cf1abb2e" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Why GitHub?&quot;,&quot;action&quot;:&quot;click to go to Customer stories&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Customer stories;&quot;}" href="/customer-stories">
        Customer stories <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
          </ul>
        </div>
      </details>
  </li>
  
  
                <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Team&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Team;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6a187f0404f6d65ce5ca904f32d25d21879b9281c3fb9ee5fcb669d98ce48d42" data-analytics-event="{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Team&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Team;&quot;}" href="/team">Team</a>
  </li>
  
                <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Enterprise;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4d86a368b195a67b27de8166d9346dcca021932d6fc65fcddc113bdce01efc0c" data-analytics-event="{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Enterprise;&quot;}" href="/enterprise">Enterprise</a>
  </li>
  
  
              <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <details class="HeaderMenu-details details-overlay details-reset width-full">
        <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
          Explore
          <svg x="0" y="0" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg>
        </summary>
        <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
          <ul class="list-style-none f5 pb-1">
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Explore GitHub&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Explore GitHub;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="61f80948c67cc1d91cef406ad400d976c92330fe106a06b723aaf2aa78396701" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Explore GitHub&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Explore GitHub;&quot;}" href="/explore">
        Explore GitHub <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li class="color-fg-muted text-normal f6 text-mono mb-1 border-top pt-3 mt-3 mb-1">Learn and contribute</li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Topics;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1cfcdbabcafec1565d309495d2e441085b456216dd4cf113c37543a23582b316" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Topics;&quot;}" href="/topics">
        Topics <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Collections;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9f6fce08571b01f3c10cf92ddc85b1d295d5eb4a0b9db128d7d01eaf01398964" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Collections;&quot;}" href="/collections">
        Collections <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Trending;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="58d485aaad6684abf11c67ca7e7e86aa05c43d3a6189f87e04364cfdd7c2d9b2" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Trending;&quot;}" href="/trending">
        Trending <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Learning Lab&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Learning Lab;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="800b29b67df2c89ce6986c62536fe3f3d7ee89e5ce4236f71b0102f3a0b3e889" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Learning Lab&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Learning Lab;&quot;}" href="https://lab.github.com/">
        Learning Lab <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Open source guides&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Open source guides;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2b6ecc0f4246748e97e73bf37960437d32e0945427a0784143cd1705672c00bc" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Open source guides&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Open source guides;&quot;}" href="https://opensource.guide">
        Open source guides <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li class="color-fg-muted text-normal f6 text-mono mb-1 border-top pt-3 mt-3 mb-1">Connect with others</li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:The ReadME Project;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eb99f820ed7552880d37e05f8e8ea8efbab4786e5f44572268a618545f5b3ac5" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:The ReadME Project;&quot;}" href="/readme">
        The ReadME Project <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Events&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Events;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cae3157ae508d556bb4dc561eb2e0fa60b9ea1a8329d873b5c2c575fd741d194" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Events&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Events;&quot;}" href="/events">
        Events <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Community forum&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Community forum;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ec7afafd3f07db8c1b216d727ee7f91b7d70191dff7bf3ee1fa8a6a9395d6b48" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to Community forum&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Community forum;&quot;}" href="https://github.community">
        Community forum <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to GitHub Education&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Education;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a06337132be6ff65a5c673db8b94f3929551860ca54bcac0d1b8b6d685464b18" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to GitHub Education&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Education;&quot;}" href="https://education.github.com">
        GitHub Education <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to GitHub Stars program&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Stars program;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b45a7d211a09a0fc94a4d72f8204c22e6217cf500c920d609551fd8ab989246" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Explore&quot;,&quot;action&quot;:&quot;click to go to GitHub Stars program&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:GitHub Stars program;&quot;}" href="https://stars.github.com">
        GitHub Stars program <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
          </ul>
        </div>
      </details>
  </li>
  
  
              <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Marketplace&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Marketplace;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e0aedce02b63dc75104a3471cd0d43a257fe5c129ddfbf0c4d3fc74943d5a00a" data-analytics-event="{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Marketplace&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Marketplace;&quot;}" href="/marketplace">Marketplace</a>
  </li>
  
  
              <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center">
      <details class="HeaderMenu-details details-overlay details-reset width-full">
        <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
          Pricing
          <svg x="0" y="0" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg>
        </summary>
        <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
          <ul class="list-style-none f5 pb-1">
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Plans&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Plans;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8cd47a8cc73cf13e056209dfab65cca20e06c10d912dd078d44eb900523be363" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Plans&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Plans;&quot;}" href="/pricing">
        Plans <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Compare plans&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Compare plans;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="906731725a080e8695401f2fd0e2d8bb80ef459c9268e1c51df070f619bfa65b" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Compare plans&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Compare plans;&quot;}" href="/pricing#compare-features">
        Compare plans <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Contact Sales&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Contact Sales;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9c7d3912e4f360dd6e36aa0516935459f59a7dac150172187c7afaa08484129a" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Contact Sales&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Contact Sales;&quot;}" href="https://github.com/enterprise/contact">
        Contact Sales <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
                <li>
      <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold border-top pt-4 pb-2 mt-3" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Education;&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4b8af4786fd42110c3713ec57c5f96b369d3585dda1fa934f7316ad4410dd7b4" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Pricing&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_page:/cure53/DOMPurify/blob/main/dist/purify.min.js;ref_cta:Education;&quot;}" href="https://education.github.com">
        Education <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">&rarr;</span>
  </a>  </li>
  
          </ul>
        </div>
      </details>
  </li>
  
            </ul>
          </nav>
  
        <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
            <div class="d-lg-flex min-width-0 mb-3 mb-lg-0">
              
  
  
  
  <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"
  >
    <div class="position-relative">
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="16927692" data-scoped-search-url="/cure53/DOMPurify/search" data-owner-scoped-search-url="/users/cure53/search" data-unscoped-search-url="/search" action="/cure53/DOMPurify/search" accept-charset="UTF-8" method="get">
        <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
          <input type="text"
            class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
            data-hotkey=s,/
            name="q"
            data-test-selector="nav-search-input"
            placeholder="Search"
            data-unscoped-placeholder="Search GitHub"
            data-scoped-placeholder="Search"
            autocapitalize="off"
            role="combobox"
            aria-haspopup="listbox"
            aria-expanded="false"
            aria-autocomplete="list"
            aria-controls="jump-to-results"
            aria-label="Search"
            data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
            spellcheck="false"
            autocomplete="off"
          >
          <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="zNV/Kct3DmPkOI0GG0awd9Cm+KKka76r1UoPD125VERl70qpFwvgyaieD7TzZp6sj4Wdi9yyZc5vTUrqkl9rwQ==" />
          <input type="hidden" class="js-site-search-type-field" name="type" >
              <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
  
  
            <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
              
  <ul class="d-none js-jump-to-suggestions-template-container">
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
  </svg>
        <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
  </svg>
        <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
  </svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
  </ul>
  
  <ul class="d-none js-jump-to-no-results-template-container">
    <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
      <span class="color-fg-muted">No suggested jump to results</span>
    </li>
  </ul>
  
  <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
  </svg>
        <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
  </svg>
        <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
  </svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
  </svg>
        <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
  </svg>
        <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
  </svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user">
          In this user
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
    
  
  <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
    <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
      <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
        <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
  </svg>
        <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
  </svg>
        <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
      <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
  </svg>
      </div>
  
      <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  
      <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
      </div>
  
      <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
        <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
          In this repository
        </span>
        <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
          All GitHub
        </span>
        <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
  
      <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
        Jump to
        <span class="d-inline-block ml-1 v-align-middle">↵</span>
      </div>
    </a>
  </li>
  
  
  </ul>
  
            </div>
        </label>
  </form>  </div>
  </div>
  
            </div>
  
          <div class="position-relative mr-3 mb-4 mb-lg-0 d-inline-block">
            <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fcure53%2FDOMPurify%2Fblob%2Fmain%2Fdist%2Fpurify.min.js"
              class="HeaderMenu-link flex-shrink-0 no-underline"
              data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="293487bdfb11525e7660250f81070b3e8c2888cc6768ce5c6bb13814225b7703"
              data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
              Sign in
            </a>
          </div>
  
            <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=cure53%2FDOMPurify"
              class="HeaderMenu-link flex-shrink-0 d-inline-block no-underline border color-border-default rounded px-2 py-1"
              data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="293487bdfb11525e7660250f81070b3e8c2888cc6768ce5c6bb13814225b7703"
              data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c157048fe5adc7c0c4265ef4f5bf41d97e5fd23a4421e494b92fee8a5c28fde4" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
            >
              Sign up
            </a>
        </div>
      </div>
    </div>
  </header>
  
      </div>
  
    <div id="start-of-content" class="show-on-focus"></div>
  
  
  
  
  
  
      <div data-pjax-replace id="js-flash-container">
  
  
    <template class="js-flash-template">
      <div class="flash flash-full  {{ className }}">
    <div class=" px-2" >
      <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg>
      </button>
      
        <div>{{ message }}</div>
  
    </div>
  </div>
    </template>
  </div>
  
  
      
  
    <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
  
  
  
  
  
    <div
      class="application-main "
      data-commit-hovercards-enabled
      data-discussion-hovercards-enabled
      data-issue-and-pr-hovercards-enabled
    >
          <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
      <main id="js-repo-pjax-container" data-pjax-container >
        
  
      
  
  
  
  
  
  
    <div id="repository-container-header" class="pt-3 hide-full-screen mb-5" style="background-color: var(--color-page-header-bg);" data-pjax-replace>
  
        <div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
  
          <div class="flex-auto min-width-0 width-fit mr-3">
              <h1 class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2">
      <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
  </svg>
    <span class="author flex-self-stretch" itemprop="author">
      <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/cure53/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53">cure53</a>
    </span>
    <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
    <strong itemprop="name" class="mr-2 flex-self-stretch">
      <a data-pjax="#repo-content-pjax-container" href="/cure53/DOMPurify">DOMPurify</a>
    </strong>
  
    <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
  </h1>
  
          </div>
  
            <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
        <li>
          <include-fragment src="/cure53/DOMPurify/sponsor_button"></include-fragment>
        </li>
  
    <li>
        <a href="/login?return_to=%2Fcure53%2FDOMPurify" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="433e2f7a63b4f99749e8456541b1c8f7906a73ff04621caeb8e7cf66880fff72" aria-label="You must be signed in to change notification settings" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn">
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell">
      <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
  </svg>
    
      Notifications
  
    
  
  </a>
    </li>
  
  
      <li>
            <div >
        <a href="/login?return_to=%2Fcure53%2FDOMPurify" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:16927692,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="14470cfd1a087ad12c7e9192ee708b6af8dd9ca97828da9de5adf313a2ed92af" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom mr-1">
      <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path>
  </svg>
    
          <span data-view-component="true">
            Star
  </span>
    
  
  </a>      <a
          class="social-count js-social-count"
          href="/cure53/DOMPurify/stargazers"
          aria-label="8083 users starred this repository"
          data-singular-suffix="user starred this repository"
          data-plural-suffix="users starred this repository"
        >
          8.1k
        </a>
    </div>
  
      </li>
  
      <li>
            <a href="/login?return_to=%2Fcure53%2FDOMPurify" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:16927692,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4a3ca4d4fe443da5f07b11fc57fc99018fad5710c2e887bed160067d20ec7af2" aria-label="You must be signed in to fork a repository" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked">
      <path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>
  </svg>
    
      Fork
  
    
  
  </a>
    <a
      href="/cure53/DOMPurify/network/members"
      class="social-count"
      aria-label="521 users forked this repository"
    >
      521
    </a>
  
      </li>
  
  
    <li>
      
  
    </li>
  </ul>
  
        </div>
  
        <div id="responsive-meta-container" data-pjax-replace>
  </div>
  
  
          
  <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
  
    <ul data-view-component="true" class="UnderlineNav-body list-style-none">
        <li data-view-component="true" class="d-inline-flex">
    <a id="code-tab" href="/cure53/DOMPurify" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /cure53/DOMPurify" data-pjax="#repo-content-pjax-container" data-hotkey="g c" data-ga-click="Repository, Navigation click, Code tab" aria-current="page" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
  </svg>
            <span data-content="Code">Code</span>
              <span id="code-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="issues-tab" href="/cure53/DOMPurify/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /cure53/DOMPurify/issues" data-pjax="#repo-content-pjax-container" data-hotkey="g i" data-ga-click="Repository, Navigation click, Issues tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
      <path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path>
  </svg>
            <span data-content="Issues">Issues</span>
              <span id="issues-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="pull-requests-tab" href="/cure53/DOMPurify/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /cure53/DOMPurify/pulls" data-pjax="#repo-content-pjax-container" data-hotkey="g p" data-ga-click="Repository, Navigation click, Pull requests tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path>
  </svg>
            <span data-content="Pull requests">Pull requests</span>
              <span id="pull-requests-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="actions-tab" href="/cure53/DOMPurify/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /cure53/DOMPurify/actions" data-pjax="#repo-content-pjax-container" data-hotkey="g a" data-ga-click="Repository, Navigation click, Actions tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path>
  </svg>
            <span data-content="Actions">Actions</span>
              <span id="actions-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="projects-tab" href="/cure53/DOMPurify/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /cure53/DOMPurify/projects" data-pjax="#repo-content-pjax-container" data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
  </svg>
            <span data-content="Projects">Projects</span>
              <span id="projects-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="wiki-tab" href="/cure53/DOMPurify/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /cure53/DOMPurify/wiki" data-pjax="#repo-content-pjax-container" data-hotkey="g w" data-ga-click="Repository, Navigation click, Wikis tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path>
  </svg>
            <span data-content="Wiki">Wiki</span>
              <span id="wiki-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
  
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="security-tab" href="/cure53/DOMPurify/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /cure53/DOMPurify/security" data-pjax="#repo-content-pjax-container" data-hotkey="g s" data-ga-click="Repository, Navigation click, Security tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path>
  </svg>
            <span data-content="Security">Security</span>
              <include-fragment src="/cure53/DOMPurify/security/overall-count" accept="text/fragment+html"></include-fragment>
  
      
  </a></li>
        <li data-view-component="true" class="d-inline-flex">
    <a id="insights-tab" href="/cure53/DOMPurify/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /cure53/DOMPurify/pulse" data-pjax="#repo-content-pjax-container" data-ga-click="Repository, Navigation click, Insights tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
      
                    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
      <path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path>
  </svg>
            <span data-content="Insights">Insights</span>
              <span id="insights-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
  
  
      
  </a></li>
  </ul>
      <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0">      <details data-view-component="true" class="details-overlay details-reset position-relative">
    <summary role="button" data-view-component="true">          <div class="UnderlineNav-item mr-0 border-0">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
      <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
  </svg>
              <span class="sr-only">More</span>
            </div>
  </summary>
    <div data-view-component="true">          <details-menu role="menu" data-view-component="true" class="dropdown-menu dropdown-menu-sw">
    
              <ul>
                  <li data-menu-item="i0code-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /cure53/DOMPurify" href="/cure53/DOMPurify">
                      Code
  </a>                </li>
                  <li data-menu-item="i1issues-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_issues repo_labels repo_milestones /cure53/DOMPurify/issues" href="/cure53/DOMPurify/issues">
                      Issues
  </a>                </li>
                  <li data-menu-item="i2pull-requests-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_pulls checks /cure53/DOMPurify/pulls" href="/cure53/DOMPurify/pulls">
                      Pull requests
  </a>                </li>
                  <li data-menu-item="i3actions-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_actions /cure53/DOMPurify/actions" href="/cure53/DOMPurify/actions">
                      Actions
  </a>                </li>
                  <li data-menu-item="i4projects-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_projects new_repo_project repo_project /cure53/DOMPurify/projects" href="/cure53/DOMPurify/projects">
                      Projects
  </a>                </li>
                  <li data-menu-item="i5wiki-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_wiki /cure53/DOMPurify/wiki" href="/cure53/DOMPurify/wiki">
                      Wiki
  </a>                </li>
                  <li data-menu-item="i6security-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="security overview alerts policy token_scanning code_scanning /cure53/DOMPurify/security" href="/cure53/DOMPurify/security">
                      Security
  </a>                </li>
                  <li data-menu-item="i7insights-tab" hidden>
                    <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /cure53/DOMPurify/pulse" href="/cure53/DOMPurify/pulse">
                      Insights
  </a>                </li>
              </ul>
  
  </details-menu></div>
  </details></div>
  </nav>
    </div>
  
  
  
  <div class="clearfix new-discussion-timeline container-xl px-3 px-md-4 px-lg-5">
    <div id="repo-content-pjax-container" class="repository-content " >
  
      
  
  
      
        
    
    
  <div>
    
  
  
  
      <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/cure53/DOMPurify/blob/897b1218400578089328bf61f15159973c577ba9/dist/purify.min.js">Permalink</a>
  
  
      <div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-wrap flex-md-nowrap flex-justify-between flex-md-justify-start">
        
  <div class="position-relative">
    <details class="details-reset details-overlay mr-0 mb-0 " id="branch-select-menu">
      <summary class="btn css-truncate"
              data-hotkey="w"
              title="Switch branches or tags">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch">
      <path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path>
  </svg>
        <span class="css-truncate-target" data-menu-button>main</span>
        <span class="dropdown-caret"></span>
      </summary>
  
        
  <div class="SelectMenu">
    <div class="SelectMenu-modal">
      <header class="SelectMenu-header">
        <span class="SelectMenu-title">Switch branches/tags</span>
        <button class="SelectMenu-closeButton" type="button" data-toggle-for="branch-select-menu"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg></button>
      </header>
  
      <input-demux data-action="tab-container-change:input-demux#storeInput tab-container-changed:input-demux#updateInput">
        <tab-container class="d-flex flex-column js-branches-tags-tabs" style="min-height: 0;">
          <div class="SelectMenu-filter">
            <input data-target="input-demux.source"
                   id="context-commitish-filter-field"
                   class="SelectMenu-input form-control"
                   aria-owns="ref-list-branches"
                   data-controls-ref-menu-id="ref-list-branches"
                   autofocus
                   autocomplete="off"
                   aria-label="Filter branches/tags"
                   placeholder="Filter branches/tags"
                   type="text"
            >
          </div>
  
          <div class="SelectMenu-tabs" role="tablist" data-target="input-demux.control" >
            <button class="SelectMenu-tab" type="button" role="tab" aria-selected="true">Branches</button>
            <button class="SelectMenu-tab" type="button" role="tab">Tags</button>
          </div>
  
          <div role="tabpanel" id="ref-list-branches" data-filter-placeholder="Filter branches/tags" class="d-flex flex-column flex-auto overflow-auto" tabindex="">
            <ref-selector
              type="branch"
              data-targets="input-demux.sinks"
              data-action="
                input-entered:ref-selector#inputEntered
                tab-selected:ref-selector#tabSelected
                focus-list:ref-selector#focusFirstListMember
              "
              query-endpoint="/cure53/DOMPurify/refs"
              
              cache-key="v0:1632140973.411167"
              current-committish="bWFpbg=="
              default-branch="bWFpbg=="
              name-with-owner="Y3VyZTUzL0RPTVB1cmlmeQ=="
              prefetch-on-mouseover
            >
  
              <template data-target="ref-selector.fetchFailedTemplate">
                <div class="SelectMenu-message" data-index="{{ index }}">Could not load branches</div>
              </template>
  
                <template data-target="ref-selector.noMatchTemplate">
      <div class="SelectMenu-message">Nothing to show</div>
  </template>
  
  
              <!-- TODO: this max-height is necessary or else the branch list won't scroll.  why? -->
              <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list " style="max-height: 330px" data-pjax="#repo-content-pjax-container">
                <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
                  <span role="status">
    <span class="sr-only">Loading</span>
    <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
      <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
      <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
  </svg></span>
  
                </div>
              </div>
  
                <template data-target="ref-selector.itemTemplate">
    <a href="https://github.com/cure53/DOMPurify/blob/{{ urlEncodedRefName }}/dist/purify.min.js" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
      <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
  </svg>
      <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
      <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
    </a>
  </template>
  
  
                <footer class="SelectMenu-footer"><a href="/cure53/DOMPurify/branches">View all branches</a></footer>
            </ref-selector>
  
          </div>
  
          <div role="tabpanel" id="tags-menu" data-filter-placeholder="Find a tag" class="d-flex flex-column flex-auto overflow-auto" tabindex="" hidden>
            <ref-selector
              type="tag"
              data-action="
                input-entered:ref-selector#inputEntered
                tab-selected:ref-selector#tabSelected
                focus-list:ref-selector#focusFirstListMember
              "
              data-targets="input-demux.sinks"
              query-endpoint="/cure53/DOMPurify/refs"
              cache-key="v0:1632140973.411167"
              current-committish="bWFpbg=="
              default-branch="bWFpbg=="
              name-with-owner="Y3VyZTUzL0RPTVB1cmlmeQ=="
            >
  
              <template data-target="ref-selector.fetchFailedTemplate">
                <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div>
              </template>
  
              <template data-target="ref-selector.noMatchTemplate">
                <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div>
              </template>
  
                <template data-target="ref-selector.itemTemplate">
    <a href="https://github.com/cure53/DOMPurify/blob/{{ urlEncodedRefName }}/dist/purify.min.js" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
      <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
  </svg>
      <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
      <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
    </a>
  </template>
  
  
              <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px" data-pjax="#repo-content-pjax-container">
                <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
                  <span role="status">
    <span class="sr-only">Loading</span>
    <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
      <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
      <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
  </svg></span>
  
                </div>
              </div>
                <footer class="SelectMenu-footer"><a href="/cure53/DOMPurify/tags">View all tags</a></footer>
            </ref-selector>
          </div>
        </tab-container>
      </input-demux>
    </div>
  </div>
  
    </details>
  
  </div>
  
        <h2 id="blob-path" class="breadcrumb flex-auto flex-self-center min-width-0 text-normal mx-2 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
          <span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="#repo-content-pjax-container" href="/cure53/DOMPurify"><span>DOMPurify</span></a></span></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="#repo-content-pjax-container" href="/cure53/DOMPurify/tree/main/dist"><span>dist</span></a></span><span class="separator">/</span><strong class="final-path">purify.min.js</strong>
            <span class="separator">/</span><details class="details-reset details-overlay d-inline" id="jumpto-symbol-select-menu">
    <summary aria-haspopup="true" data-hotkey="r" data-hydro-click="{&quot;event_type&quot;:&quot;code_navigation.click_on_blob_definitions&quot;,&quot;payload&quot;:{&quot;action&quot;:&quot;click_on_blob_definitions&quot;,&quot;repository_id&quot;:16927692,&quot;ref&quot;:&quot;main&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eec75dbac973f4cb64b8d119d6f078438fa2f2d43678c523adfc7b728f24e230" data-view-component="true" class="Link--secondary css-truncate btn-link">
    
    
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
      <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
  </svg>
      <span data-menu-button>Jump to</span>
      <span class="dropdown-caret"></span>
  
    
  
  </summary>  <details-menu class="SelectMenu SelectMenu--hasFilter" role="menu">
      <div class="SelectMenu-modal">
        <header class="SelectMenu-header">
          <span class="SelectMenu-title">Code definitions</span>
          <button class="SelectMenu-closeButton" type="button" data-toggle-for="jumpto-symbol-select-menu">
            <svg aria-label="Close menu" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg>
          </button>
        </header>
        <div class="SelectMenu-list">
            <div class="SelectMenu-blankslate">
              <p class="mb-0 color-fg-muted">
                No definitions found in this file.
              </p>
            </div>
          <div data-filterable-for="jumpto-symbols-filter-field" data-filterable-type="substring">
          </div>
        </div>
        <footer class="SelectMenu-footer">
          <div class="d-flex flex-justify-between">
            Code navigation not available for this commit
            <svg class="octicon octicon-dot-fill text-light-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg>
          </div>
        </footer>
      </div>
    </details-menu>
  </details>
  
        </h2>
        <a href="/cure53/DOMPurify/find/main"
              class="js-pjax-capture-input btn mr-2 d-none d-md-block"
              data-pjax
              data-hotkey="t">
          Go to file
        </a>
  
        <details id="blob-more-options-details" data-view-component="true" class="details-overlay details-reset position-relative">
    <summary role="button" data-view-component="true" class="btn">
    
              <svg aria-label="More options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
      <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
  </svg>
  
    
  
  </summary>
    <div data-view-component="true">          <ul class="dropdown-menu dropdown-menu-sw">
              <li class="d-block d-md-none">
                <a class="dropdown-item d-flex flex-items-baseline" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;FIND_FILE_BUTTON&quot;,&quot;repository_id&quot;:16927692,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="50752357048031e0d4acf10a0d630e3319c3663deacad2b014b398796d4b3ada" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/cure53/DOMPurify/find/main">
                  <span class="flex-auto">Go to file</span>
                  <span class="text-small color-fg-muted" aria-hidden="true">T</span>
  </a>            </li>
              <li data-toggle-for="blob-more-options-details">
                <button data-toggle-for="jumpto-line-details-dialog" type="button" data-view-component="true" class="dropdown-item btn-link">
    
    
                  <span class="d-flex flex-items-baseline">
                    <span class="flex-auto">Go to line</span>
                    <span class="text-small color-fg-muted" aria-hidden="true">L</span>
                  </span>
  
    
  
  </button>            </li>
              <li data-toggle-for="blob-more-options-details">
                <button data-toggle-for="jumpto-symbol-select-menu" type="button" data-view-component="true" class="dropdown-item btn-link">
    
    
                  <span class="d-flex flex-items-baseline">
                    <span class="flex-auto">Go to definition</span>
                    <span class="text-small color-fg-muted" aria-hidden="true">R</span>
                  </span>
  
    
  
  </button>            </li>
              <li class="dropdown-divider" role="none"></li>
              <li>
                <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy path" value="dist/purify.min.js" data-view-component="true" class="dropdown-item cursor-pointer">
      
                  Copy path
  
  </clipboard-copy>            </li>
              <li>
                <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy permalink" value="https://github.com/cure53/DOMPurify/blob/897b1218400578089328bf61f15159973c577ba9/dist/purify.min.js" data-view-component="true" class="dropdown-item cursor-pointer">
      
                  <span class="d-flex flex-items-baseline">
                    <span class="flex-auto">Copy permalink</span>
                  </span>
  
  </clipboard-copy>            </li>
            </ul>
  </div>
  </details>    </div>
  
  
  
  
      <div class="Box d-flex flex-column flex-shrink-0 mb-3">
        
    <div class="Box-header Details js-details-container">
        <div class="d-flex flex-items-center">
          <span class="flex-shrink-0 ml-n1 mr-n1 mt-n1 mb-n1">
            <a rel="contributor" data-skip-pjax="true" data-hovercard-type="user" data-hovercard-url="/users/franktopel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/franktopel"><img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/10668603?s=48&amp;v=4" width="24" height="24" alt="@franktopel" /></a>
          </span>
          <div class="flex-1 d-flex flex-items-center ml-3 min-width-0">
            <div class="css-truncate css-truncate-overflow">
              <a class="text-bold Link--primary" rel="contributor" data-hovercard-type="user" data-hovercard-url="/users/franktopel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/franktopel">franktopel</a>
  
                <span class="markdown-title">
                  <a data-pjax="true" title="new build" class="Link--secondary" href="/cure53/DOMPurify/commit/7fa0dfc72b829f093f0de73a4d51d2772e8915a3">new build</a>
                </span>
            </div>
  
  
            <span class="ml-2">
              <include-fragment accept="text/fragment+html" src="/cure53/DOMPurify/commit/7fa0dfc72b829f093f0de73a4d51d2772e8915a3/rollup?direction=e" class="d-inline"></include-fragment>
            </span>
          </div>
          <div class="ml-3 d-flex flex-shrink-0 flex-items-center flex-justify-end color-fg-muted no-wrap">
            <span class="d-none d-md-inline">
              <span>Latest commit</span>
              <a class="text-small text-mono Link--secondary" href="/cure53/DOMPurify/commit/7fa0dfc72b829f093f0de73a4d51d2772e8915a3" data-pjax>7fa0dfc</a>
              <span itemprop="dateModified"><relative-time datetime="2021-11-25T12:41:55Z" class="no-wrap">Nov 25, 2021</relative-time></span>
            </span>
  
            <a data-pjax href="/cure53/DOMPurify/commits/main/dist/purify.min.js" class="ml-3 no-wrap Link--primary no-underline">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
      <path fill-rule="evenodd" d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"></path>
  </svg>
              <span class="d-none d-sm-inline">
                <strong>History</strong>
              </span>
            </a>
          </div>
        </div>
  
    </div>
  
    <div class="Box-body d-flex flex-items-center flex-auto border-bottom-0 flex-wrap" >
      <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default float-left mr-3" id="blob_contributors_box">
        <summary class="Link--primary">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
      <path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"></path>
  </svg>
          <strong>21</strong>
          
          contributors
        </summary>
        <details-dialog
          class="Box Box--overlay d-flex flex-column anim-fade-in fast"
          aria-label="Users who have contributed to this file"
          src="/cure53/DOMPurify/contributors-list/main/dist/purify.min.js" preload>
          <div class="Box-header">
            <button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog>
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg>
            </button>
            <h3 class="Box-title">
              Users who have contributed to this file
            </h3>
          </div>
          <include-fragment>
            <span role="status">
    <span class="sr-only">Loading</span>
    <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="my-3 mx-auto d-block anim-rotate">
      <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
      <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
  </svg></span>
  
          </include-fragment>
        </details-dialog>
      </details>
        <span class="">
      <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/cure53/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=cure53">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/6709482?s=48&amp;v=4" width="24" height="24" alt="@cure53" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/securitum-mb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=securitum-mb">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/35838026?s=48&amp;v=4" width="24" height="24" alt="@securitum-mb" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/ydaniv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=ydaniv">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/116658?s=48&amp;v=4" width="24" height="24" alt="@ydaniv" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/tdeekens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=tdeekens">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/1877073?s=48&amp;v=4" width="24" height="24" alt="@tdeekens" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/NateScarlet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=NateScarlet">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/21083014?s=48&amp;v=4" width="24" height="24" alt="@NateScarlet" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/choumx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=choumx">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/20525523?s=48&amp;v=4" width="24" height="24" alt="@choumx" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/mscheele7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=mscheele7">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/61436035?s=48&amp;v=4" width="24" height="24" alt="@mscheele7" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/franktopel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=franktopel">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/10668603?s=48&amp;v=4" width="24" height="24" alt="@franktopel" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/edg2s/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=edg2s">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/180672?s=48&amp;v=4" width="24" height="24" alt="@edg2s" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/dnkolegov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=dnkolegov">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/6521369?s=48&amp;v=4" width="24" height="24" alt="@dnkolegov" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/tosmolka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=tosmolka">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/37370256?s=48&amp;v=4" width="24" height="24" alt="@tosmolka" /> 
  </a>    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/tlau88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/cure53/DOMPurify/commits/main/dist/purify.min.js?author=tlau88">
        <img class="avatar mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/42353882?s=48&amp;v=4" width="24" height="24" alt="@tlau88" /> 
  </a>
      <button data-toggle-for="blob_contributors_box" type="button" data-view-component="true" class="lh-default btn-link">
    
    
        +9
  
    
  
  </button></span>
  
    </div>
      </div>
  
  
  
  
  
  
    
      <div data-target="readme-toc.content" class="Box mt-3 position-relative">
        
    <div
      class="Box-header py-2 pr-2 d-flex flex-shrink-0 flex-md-row flex-items-center"
      
    >
  
  
    <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1">
  
        3 lines (3 sloc)
        <span class="file-info-divider"></span>
      19.5 KB
    </div>
  
    <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between hide-sm hide-md">
        
  
      <div class="BtnGroup">
        <a href="/cure53/DOMPurify/raw/main/dist/purify.min.js" id="raw-url" data-view-component="true" class="btn-sm btn BtnGroup-item">
    
    Raw
    
  
  </a>
          <a href="/cure53/DOMPurify/blame/main/dist/purify.min.js" data-hotkey="b" data-view-component="true" class="js-update-url-with-hash btn-sm btn BtnGroup-item">
    
    Blame
    
  
  </a>
      </div>
  
      <div>
            <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
               data-platforms="windows,mac"
               href="https://desktop.github.com"
               aria-label="Open this file in GitHub Desktop"
               data-ga-click="Repository, open with desktop">
                <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
      <path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path>
  </svg>
            </a>
  
          
            <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fcure53%2FDOMPurify%2Fblob%2Fmain%2Fdist%2Fpurify.min.js" class="btn-octicon disabled tooltipped tooltipped-nw"
              aria-label="You must be signed in to make or propose changes">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
      <path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
  </svg>
            </a>
            <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fcure53%2FDOMPurify%2Fblob%2Fmain%2Fdist%2Fpurify.min.js" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
              aria-label="You must be signed in to make or propose changes">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
      <path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path>
  </svg>
            </a>
      </div>
    </div>
  
      <div class="d-flex hide-lg hide-xl flex-order-2 flex-grow-0">
        <details class="dropdown details-reset details-overlay d-inline-block">
          <summary class="btn-octicon" aria-haspopup="true" aria-label="possible actions">
            <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
      <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
  </svg>
          </summary>
  
          <ul class="dropdown-menu dropdown-menu-sw" style="width: 175px">
              <li>
                  <a class="dropdown-item tooltipped tooltipped-nw js-remove-unless-platform"
                     data-platforms="windows,mac"
                     href="https://desktop.github.com"
                     data-ga-click="Repository, open with desktop">
                    Open with Desktop
                  </a>
              </li>
            <li>
              <a class="dropdown-item" href="/cure53/DOMPurify/raw/main/dist/purify.min.js">
                View raw
              </a>
            </li>
              <li>
                            </li>
              <li>
                <a class="dropdown-item" href="/cure53/DOMPurify/blame/main/dist/purify.min.js">
                  View blame
                </a>
              </li>
  
          </ul>
        </details>
      </div>
  </div>
  
  
        
    <div itemprop="text" class="Box-body p-0 blob-wrapper data type-javascript  gist-border-0">
  
        
  <div class="js-check-bidi blob-code-content">
    <template class="js-file-alert-template">
    <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
      <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
  </svg>
    
      <span>
        This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
        <a href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a>
      </span>
  
  
    <div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">
    
    Show hidden characters
    
  
  </a>
  </div>
  </div></template>
  <template class="js-line-alert-template">
    <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="bidi-line-alert tooltipped tooltipped-e">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
      <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
  </svg>
  </span></template>
  
    <table class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="2" data-paste-markdown-skip data-tagsearch-lang="JavaScript" data-tagsearch-path="dist/purify.min.js">
          <tr>
            <td id="L1" class="blob-num js-line-number js-code-nav-line-number" data-line-number="1"></td>
            <td id="LC1" class="blob-code blob-code-inner js-file-line">/*! @license DOMPurify 2.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.3/LICENSE */</td>
          </tr>
          <tr>
            <td id="L2" class="blob-num js-line-number js-code-nav-line-number" data-line-number="2"></td>
            <td id="LC2" class="blob-code blob-code-inner js-file-line">!function(e,t){&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module?module.exports=t():&quot;function&quot;==typeof define&amp;&amp;define.amd?define(t):(e=e||self).DOMPurify=t()}(this,(function(){&quot;use strict&quot;;var e=Object.hasOwnProperty,t=Object.setPrototypeOf,n=Object.isFrozen,r=Object.getPrototypeOf,o=Object.getOwnPropertyDescriptor,i=Object.freeze,a=Object.seal,l=Object.create,c=&quot;undefined&quot;!=typeof Reflect&amp;&amp;Reflect,s=c.apply,u=c.construct;s||(s=function(e,t,n){return e.apply(t,n)}),i||(i=function(e){return e}),a||(a=function(e){return e}),u||(u=function(e,t){return new(Function.prototype.bind.apply(e,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t&lt;e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))))});var m,f=A(Array.prototype.forEach),d=A(Array.prototype.pop),p=A(Array.prototype.push),h=A(String.prototype.toLowerCase),g=A(String.prototype.match),y=A(String.prototype.replace),v=A(String.prototype.indexOf),b=A(String.prototype.trim),T=A(RegExp.prototype.test),N=(m=TypeError,function(){for(var e=arguments.length,t=Array(e),n=0;n&lt;e;n++)t[n]=arguments[n];return u(m,t)});function A(e){return function(t){for(var n=arguments.length,r=Array(n&gt;1?n-1:0),o=1;o&lt;n;o++)r[o-1]=arguments[o];return s(e,t,r)}}function E(e,r){t&amp;&amp;t(e,null);for(var o=r.length;o--;){var i=r[o];if(&quot;string&quot;==typeof i){var a=h(i);a!==i&amp;&amp;(n(r)||(r[o]=a),i=a)}e[i]=!0}return e}function x(t){var n=l(null),r=void 0;for(r in t)s(e,t,[r])&amp;&amp;(n[r]=t[r]);return n}function k(e,t){for(;null!==e;){var n=o(e,t);if(n){if(n.get)return A(n.get);if(&quot;function&quot;==typeof n.value)return A(n.value)}e=r(e)}return function(e){return console.warn(&quot;fallback value for&quot;,e),null}}var S=i([&quot;a&quot;,&quot;abbr&quot;,&quot;acronym&quot;,&quot;address&quot;,&quot;area&quot;,&quot;article&quot;,&quot;aside&quot;,&quot;audio&quot;,&quot;b&quot;,&quot;bdi&quot;,&quot;bdo&quot;,&quot;big&quot;,&quot;blink&quot;,&quot;blockquote&quot;,&quot;body&quot;,&quot;br&quot;,&quot;button&quot;,&quot;canvas&quot;,&quot;caption&quot;,&quot;center&quot;,&quot;cite&quot;,&quot;code&quot;,&quot;col&quot;,&quot;colgroup&quot;,&quot;content&quot;,&quot;data&quot;,&quot;datalist&quot;,&quot;dd&quot;,&quot;decorator&quot;,&quot;del&quot;,&quot;details&quot;,&quot;dfn&quot;,&quot;dialog&quot;,&quot;dir&quot;,&quot;div&quot;,&quot;dl&quot;,&quot;dt&quot;,&quot;element&quot;,&quot;em&quot;,&quot;fieldset&quot;,&quot;figcaption&quot;,&quot;figure&quot;,&quot;font&quot;,&quot;footer&quot;,&quot;form&quot;,&quot;h1&quot;,&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;,&quot;head&quot;,&quot;header&quot;,&quot;hgroup&quot;,&quot;hr&quot;,&quot;html&quot;,&quot;i&quot;,&quot;img&quot;,&quot;input&quot;,&quot;ins&quot;,&quot;kbd&quot;,&quot;label&quot;,&quot;legend&quot;,&quot;li&quot;,&quot;main&quot;,&quot;map&quot;,&quot;mark&quot;,&quot;marquee&quot;,&quot;menu&quot;,&quot;menuitem&quot;,&quot;meter&quot;,&quot;nav&quot;,&quot;nobr&quot;,&quot;ol&quot;,&quot;optgroup&quot;,&quot;option&quot;,&quot;output&quot;,&quot;p&quot;,&quot;picture&quot;,&quot;pre&quot;,&quot;progress&quot;,&quot;q&quot;,&quot;rp&quot;,&quot;rt&quot;,&quot;ruby&quot;,&quot;s&quot;,&quot;samp&quot;,&quot;section&quot;,&quot;select&quot;,&quot;shadow&quot;,&quot;small&quot;,&quot;source&quot;,&quot;spacer&quot;,&quot;span&quot;,&quot;strike&quot;,&quot;strong&quot;,&quot;style&quot;,&quot;sub&quot;,&quot;summary&quot;,&quot;sup&quot;,&quot;table&quot;,&quot;tbody&quot;,&quot;td&quot;,&quot;template&quot;,&quot;textarea&quot;,&quot;tfoot&quot;,&quot;th&quot;,&quot;thead&quot;,&quot;time&quot;,&quot;tr&quot;,&quot;track&quot;,&quot;tt&quot;,&quot;u&quot;,&quot;ul&quot;,&quot;var&quot;,&quot;video&quot;,&quot;wbr&quot;]),w=i([&quot;svg&quot;,&quot;a&quot;,&quot;altglyph&quot;,&quot;altglyphdef&quot;,&quot;altglyphitem&quot;,&quot;animatecolor&quot;,&quot;animatemotion&quot;,&quot;animatetransform&quot;,&quot;circle&quot;,&quot;clippath&quot;,&quot;defs&quot;,&quot;desc&quot;,&quot;ellipse&quot;,&quot;filter&quot;,&quot;font&quot;,&quot;g&quot;,&quot;glyph&quot;,&quot;glyphref&quot;,&quot;hkern&quot;,&quot;image&quot;,&quot;line&quot;,&quot;lineargradient&quot;,&quot;marker&quot;,&quot;mask&quot;,&quot;metadata&quot;,&quot;mpath&quot;,&quot;path&quot;,&quot;pattern&quot;,&quot;polygon&quot;,&quot;polyline&quot;,&quot;radialgradient&quot;,&quot;rect&quot;,&quot;stop&quot;,&quot;style&quot;,&quot;switch&quot;,&quot;symbol&quot;,&quot;text&quot;,&quot;textpath&quot;,&quot;title&quot;,&quot;tref&quot;,&quot;tspan&quot;,&quot;view&quot;,&quot;vkern&quot;]),_=i([&quot;feBlend&quot;,&quot;feColorMatrix&quot;,&quot;feComponentTransfer&quot;,&quot;feComposite&quot;,&quot;feConvolveMatrix&quot;,&quot;feDiffuseLighting&quot;,&quot;feDisplacementMap&quot;,&quot;feDistantLight&quot;,&quot;feFlood&quot;,&quot;feFuncA&quot;,&quot;feFuncB&quot;,&quot;feFuncG&quot;,&quot;feFuncR&quot;,&quot;feGaussianBlur&quot;,&quot;feImage&quot;,&quot;feMerge&quot;,&quot;feMergeNode&quot;,&quot;feMorphology&quot;,&quot;feOffset&quot;,&quot;fePointLight&quot;,&quot;feSpecularLighting&quot;,&quot;feSpotLight&quot;,&quot;feTile&quot;,&quot;feTurbulence&quot;]),O=i([&quot;animate&quot;,&quot;color-profile&quot;,&quot;cursor&quot;,&quot;discard&quot;,&quot;fedropshadow&quot;,&quot;font-face&quot;,&quot;font-face-format&quot;,&quot;font-face-name&quot;,&quot;font-face-src&quot;,&quot;font-face-uri&quot;,&quot;foreignobject&quot;,&quot;hatch&quot;,&quot;hatchpath&quot;,&quot;mesh&quot;,&quot;meshgradient&quot;,&quot;meshpatch&quot;,&quot;meshrow&quot;,&quot;missing-glyph&quot;,&quot;script&quot;,&quot;set&quot;,&quot;solidcolor&quot;,&quot;unknown&quot;,&quot;use&quot;]),D=i([&quot;math&quot;,&quot;menclose&quot;,&quot;merror&quot;,&quot;mfenced&quot;,&quot;mfrac&quot;,&quot;mglyph&quot;,&quot;mi&quot;,&quot;mlabeledtr&quot;,&quot;mmultiscripts&quot;,&quot;mn&quot;,&quot;mo&quot;,&quot;mover&quot;,&quot;mpadded&quot;,&quot;mphantom&quot;,&quot;mroot&quot;,&quot;mrow&quot;,&quot;ms&quot;,&quot;mspace&quot;,&quot;msqrt&quot;,&quot;mstyle&quot;,&quot;msub&quot;,&quot;msup&quot;,&quot;msubsup&quot;,&quot;mtable&quot;,&quot;mtd&quot;,&quot;mtext&quot;,&quot;mtr&quot;,&quot;munder&quot;,&quot;munderover&quot;]),M=i([&quot;maction&quot;,&quot;maligngroup&quot;,&quot;malignmark&quot;,&quot;mlongdiv&quot;,&quot;mscarries&quot;,&quot;mscarry&quot;,&quot;msgroup&quot;,&quot;mstack&quot;,&quot;msline&quot;,&quot;msrow&quot;,&quot;semantics&quot;,&quot;annotation&quot;,&quot;annotation-xml&quot;,&quot;mprescripts&quot;,&quot;none&quot;]),C=i([&quot;#text&quot;]),L=i([&quot;accept&quot;,&quot;action&quot;,&quot;align&quot;,&quot;alt&quot;,&quot;autocapitalize&quot;,&quot;autocomplete&quot;,&quot;autopictureinpicture&quot;,&quot;autoplay&quot;,&quot;background&quot;,&quot;bgcolor&quot;,&quot;border&quot;,&quot;capture&quot;,&quot;cellpadding&quot;,&quot;cellspacing&quot;,&quot;checked&quot;,&quot;cite&quot;,&quot;class&quot;,&quot;clear&quot;,&quot;color&quot;,&quot;cols&quot;,&quot;colspan&quot;,&quot;controls&quot;,&quot;controlslist&quot;,&quot;coords&quot;,&quot;crossorigin&quot;,&quot;datetime&quot;,&quot;decoding&quot;,&quot;default&quot;,&quot;dir&quot;,&quot;disabled&quot;,&quot;disablepictureinpicture&quot;,&quot;disableremoteplayback&quot;,&quot;download&quot;,&quot;draggable&quot;,&quot;enctype&quot;,&quot;enterkeyhint&quot;,&quot;face&quot;,&quot;for&quot;,&quot;headers&quot;,&quot;height&quot;,&quot;hidden&quot;,&quot;high&quot;,&quot;href&quot;,&quot;hreflang&quot;,&quot;id&quot;,&quot;inputmode&quot;,&quot;integrity&quot;,&quot;ismap&quot;,&quot;kind&quot;,&quot;label&quot;,&quot;lang&quot;,&quot;list&quot;,&quot;loading&quot;,&quot;loop&quot;,&quot;low&quot;,&quot;max&quot;,&quot;maxlength&quot;,&quot;media&quot;,&quot;method&quot;,&quot;min&quot;,&quot;minlength&quot;,&quot;multiple&quot;,&quot;muted&quot;,&quot;name&quot;,&quot;nonce&quot;,&quot;noshade&quot;,&quot;novalidate&quot;,&quot;nowrap&quot;,&quot;open&quot;,&quot;optimum&quot;,&quot;pattern&quot;,&quot;placeholder&quot;,&quot;playsinline&quot;,&quot;poster&quot;,&quot;preload&quot;,&quot;pubdate&quot;,&quot;radiogroup&quot;,&quot;readonly&quot;,&quot;rel&quot;,&quot;required&quot;,&quot;rev&quot;,&quot;reversed&quot;,&quot;role&quot;,&quot;rows&quot;,&quot;rowspan&quot;,&quot;spellcheck&quot;,&quot;scope&quot;,&quot;selected&quot;,&quot;shape&quot;,&quot;size&quot;,&quot;sizes&quot;,&quot;span&quot;,&quot;srclang&quot;,&quot;start&quot;,&quot;src&quot;,&quot;srcset&quot;,&quot;step&quot;,&quot;style&quot;,&quot;summary&quot;,&quot;tabindex&quot;,&quot;title&quot;,&quot;translate&quot;,&quot;type&quot;,&quot;usemap&quot;,&quot;valign&quot;,&quot;value&quot;,&quot;width&quot;,&quot;xmlns&quot;,&quot;slot&quot;]),R=i([&quot;accent-height&quot;,&quot;accumulate&quot;,&quot;additive&quot;,&quot;alignment-baseline&quot;,&quot;ascent&quot;,&quot;attributename&quot;,&quot;attributetype&quot;,&quot;azimuth&quot;,&quot;basefrequency&quot;,&quot;baseline-shift&quot;,&quot;begin&quot;,&quot;bias&quot;,&quot;by&quot;,&quot;class&quot;,&quot;clip&quot;,&quot;clippathunits&quot;,&quot;clip-path&quot;,&quot;clip-rule&quot;,&quot;color&quot;,&quot;color-interpolation&quot;,&quot;color-interpolation-filters&quot;,&quot;color-profile&quot;,&quot;color-rendering&quot;,&quot;cx&quot;,&quot;cy&quot;,&quot;d&quot;,&quot;dx&quot;,&quot;dy&quot;,&quot;diffuseconstant&quot;,&quot;direction&quot;,&quot;display&quot;,&quot;divisor&quot;,&quot;dur&quot;,&quot;edgemode&quot;,&quot;elevation&quot;,&quot;end&quot;,&quot;fill&quot;,&quot;fill-opacity&quot;,&quot;fill-rule&quot;,&quot;filter&quot;,&quot;filterunits&quot;,&quot;flood-color&quot;,&quot;flood-opacity&quot;,&quot;font-family&quot;,&quot;font-size&quot;,&quot;font-size-adjust&quot;,&quot;font-stretch&quot;,&quot;font-style&quot;,&quot;font-variant&quot;,&quot;font-weight&quot;,&quot;fx&quot;,&quot;fy&quot;,&quot;g1&quot;,&quot;g2&quot;,&quot;glyph-name&quot;,&quot;glyphref&quot;,&quot;gradientunits&quot;,&quot;gradienttransform&quot;,&quot;height&quot;,&quot;href&quot;,&quot;id&quot;,&quot;image-rendering&quot;,&quot;in&quot;,&quot;in2&quot;,&quot;k&quot;,&quot;k1&quot;,&quot;k2&quot;,&quot;k3&quot;,&quot;k4&quot;,&quot;kerning&quot;,&quot;keypoints&quot;,&quot;keysplines&quot;,&quot;keytimes&quot;,&quot;lang&quot;,&quot;lengthadjust&quot;,&quot;letter-spacing&quot;,&quot;kernelmatrix&quot;,&quot;kernelunitlength&quot;,&quot;lighting-color&quot;,&quot;local&quot;,&quot;marker-end&quot;,&quot;marker-mid&quot;,&quot;marker-start&quot;,&quot;markerheight&quot;,&quot;markerunits&quot;,&quot;markerwidth&quot;,&quot;maskcontentunits&quot;,&quot;maskunits&quot;,&quot;max&quot;,&quot;mask&quot;,&quot;media&quot;,&quot;method&quot;,&quot;mode&quot;,&quot;min&quot;,&quot;name&quot;,&quot;numoctaves&quot;,&quot;offset&quot;,&quot;operator&quot;,&quot;opacity&quot;,&quot;order&quot;,&quot;orient&quot;,&quot;orientation&quot;,&quot;origin&quot;,&quot;overflow&quot;,&quot;paint-order&quot;,&quot;path&quot;,&quot;pathlength&quot;,&quot;patterncontentunits&quot;,&quot;patterntransform&quot;,&quot;patternunits&quot;,&quot;points&quot;,&quot;preservealpha&quot;,&quot;preserveaspectratio&quot;,&quot;primitiveunits&quot;,&quot;r&quot;,&quot;rx&quot;,&quot;ry&quot;,&quot;radius&quot;,&quot;refx&quot;,&quot;refy&quot;,&quot;repeatcount&quot;,&quot;repeatdur&quot;,&quot;restart&quot;,&quot;result&quot;,&quot;rotate&quot;,&quot;scale&quot;,&quot;seed&quot;,&quot;shape-rendering&quot;,&quot;specularconstant&quot;,&quot;specularexponent&quot;,&quot;spreadmethod&quot;,&quot;startoffset&quot;,&quot;stddeviation&quot;,&quot;stitchtiles&quot;,&quot;stop-color&quot;,&quot;stop-opacity&quot;,&quot;stroke-dasharray&quot;,&quot;stroke-dashoffset&quot;,&quot;stroke-linecap&quot;,&quot;stroke-linejoin&quot;,&quot;stroke-miterlimit&quot;,&quot;stroke-opacity&quot;,&quot;stroke&quot;,&quot;stroke-width&quot;,&quot;style&quot;,&quot;surfacescale&quot;,&quot;systemlanguage&quot;,&quot;tabindex&quot;,&quot;targetx&quot;,&quot;targety&quot;,&quot;transform&quot;,&quot;text-anchor&quot;,&quot;text-decoration&quot;,&quot;text-rendering&quot;,&quot;textlength&quot;,&quot;type&quot;,&quot;u1&quot;,&quot;u2&quot;,&quot;unicode&quot;,&quot;values&quot;,&quot;viewbox&quot;,&quot;visibility&quot;,&quot;version&quot;,&quot;vert-adv-y&quot;,&quot;vert-origin-x&quot;,&quot;vert-origin-y&quot;,&quot;width&quot;,&quot;word-spacing&quot;,&quot;wrap&quot;,&quot;writing-mode&quot;,&quot;xchannelselector&quot;,&quot;ychannelselector&quot;,&quot;x&quot;,&quot;x1&quot;,&quot;x2&quot;,&quot;xmlns&quot;,&quot;y&quot;,&quot;y1&quot;,&quot;y2&quot;,&quot;z&quot;,&quot;zoomandpan&quot;]),I=i([&quot;accent&quot;,&quot;accentunder&quot;,&quot;align&quot;,&quot;bevelled&quot;,&quot;close&quot;,&quot;columnsalign&quot;,&quot;columnlines&quot;,&quot;columnspan&quot;,&quot;denomalign&quot;,&quot;depth&quot;,&quot;dir&quot;,&quot;display&quot;,&quot;displaystyle&quot;,&quot;encoding&quot;,&quot;fence&quot;,&quot;frame&quot;,&quot;height&quot;,&quot;href&quot;,&quot;id&quot;,&quot;largeop&quot;,&quot;length&quot;,&quot;linethickness&quot;,&quot;lspace&quot;,&quot;lquote&quot;,&quot;mathbackground&quot;,&quot;mathcolor&quot;,&quot;mathsize&quot;,&quot;mathvariant&quot;,&quot;maxsize&quot;,&quot;minsize&quot;,&quot;movablelimits&quot;,&quot;notation&quot;,&quot;numalign&quot;,&quot;open&quot;,&quot;rowalign&quot;,&quot;rowlines&quot;,&quot;rowspacing&quot;,&quot;rowspan&quot;,&quot;rspace&quot;,&quot;rquote&quot;,&quot;scriptlevel&quot;,&quot;scriptminsize&quot;,&quot;scriptsizemultiplier&quot;,&quot;selection&quot;,&quot;separator&quot;,&quot;separators&quot;,&quot;stretchy&quot;,&quot;subscriptshift&quot;,&quot;supscriptshift&quot;,&quot;symmetric&quot;,&quot;voffset&quot;,&quot;width&quot;,&quot;xmlns&quot;]),F=i([&quot;xlink:href&quot;,&quot;xml:id&quot;,&quot;xlink:title&quot;,&quot;xml:space&quot;,&quot;xmlns:xlink&quot;]),H=a(/\{\{[\s\S]*|[\s\S]*\}\}/gm),U=a(/&lt;%[\s\S]*|[\s\S]*%&gt;/gm),z=a(/^data-[\-\w.\u00B7-\uFFFF]/),B=a(/^aria-[\-\w]+$/),j=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),P=a(/^(?:\w+script|data):/i),G=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),W=&quot;function&quot;==typeof Symbol&amp;&amp;&quot;symbol&quot;==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;&quot;function&quot;==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?&quot;symbol&quot;:typeof e};function q(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t&lt;e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Y=function(){return&quot;undefined&quot;==typeof window?null:window},K=function(e,t){if(&quot;object&quot;!==(void 0===e?&quot;undefined&quot;:W(e))||&quot;function&quot;!=typeof e.createPolicy)return null;var n=null,r=&quot;data-tt-policy-suffix&quot;;t.currentScript&amp;&amp;t.currentScript.hasAttribute(r)&amp;&amp;(n=t.currentScript.getAttribute(r));var o=&quot;dompurify&quot;+(n?&quot;#&quot;+n:&quot;&quot;);try{return e.createPolicy(o,{createHTML:function(e){return e}})}catch(e){return console.warn(&quot;TrustedTypes policy &quot;+o+&quot; could not be created.&quot;),null}};return function e(){var t=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:Y(),n=function(t){return e(t)};if(n.version=&quot;2.3.3&quot;,n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,o=t.document,a=t.DocumentFragment,l=t.HTMLTemplateElement,c=t.Node,s=t.Element,u=t.NodeFilter,m=t.NamedNodeMap,A=void 0===m?t.NamedNodeMap||t.MozNamedAttrMap:m,V=t.HTMLFormElement,X=t.DOMParser,$=t.trustedTypes,Z=s.prototype,J=k(Z,&quot;cloneNode&quot;),Q=k(Z,&quot;nextSibling&quot;),ee=k(Z,&quot;childNodes&quot;),te=k(Z,&quot;parentNode&quot;);if(&quot;function&quot;==typeof l){var ne=o.createElement(&quot;template&quot;);ne.content&amp;&amp;ne.content.ownerDocument&amp;&amp;(o=ne.content.ownerDocument)}var re=K($,r),oe=re&amp;&amp;Fe?re.createHTML(&quot;&quot;):&quot;&quot;,ie=o,ae=ie.implementation,le=ie.createNodeIterator,ce=ie.createDocumentFragment,se=ie.getElementsByTagName,ue=r.importNode,me={};try{me=x(o).documentMode?o.documentMode:{}}catch(e){}var fe={};n.isSupported=&quot;function&quot;==typeof te&amp;&amp;ae&amp;&amp;void 0!==ae.createHTMLDocument&amp;&amp;9!==me;var de=H,pe=U,he=z,ge=B,ye=P,ve=G,be=j,Te=null,Ne=E({},[].concat(q(S),q(w),q(_),q(D),q(C))),Ae=null,Ee=E({},[].concat(q(L),q(R),q(I),q(F))),xe=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ke=null,Se=null,we=!0,_e=!0,Oe=!1,De=!1,Me=!1,Ce=!1,Le=!1,Re=!1,Ie=!1,Fe=!1,He=!0,Ue=!0,ze=!1,Be={},je=null,Pe=E({},[&quot;annotation-xml&quot;,&quot;audio&quot;,&quot;colgroup&quot;,&quot;desc&quot;,&quot;foreignobject&quot;,&quot;head&quot;,&quot;iframe&quot;,&quot;math&quot;,&quot;mi&quot;,&quot;mn&quot;,&quot;mo&quot;,&quot;ms&quot;,&quot;mtext&quot;,&quot;noembed&quot;,&quot;noframes&quot;,&quot;noscript&quot;,&quot;plaintext&quot;,&quot;script&quot;,&quot;style&quot;,&quot;svg&quot;,&quot;template&quot;,&quot;thead&quot;,&quot;title&quot;,&quot;video&quot;,&quot;xmp&quot;]),Ge=null,We=E({},[&quot;audio&quot;,&quot;video&quot;,&quot;img&quot;,&quot;source&quot;,&quot;image&quot;,&quot;track&quot;]),qe=null,Ye=E({},[&quot;alt&quot;,&quot;class&quot;,&quot;for&quot;,&quot;id&quot;,&quot;label&quot;,&quot;name&quot;,&quot;pattern&quot;,&quot;placeholder&quot;,&quot;role&quot;,&quot;summary&quot;,&quot;title&quot;,&quot;value&quot;,&quot;style&quot;,&quot;xmlns&quot;]),Ke=&quot;http://www.w3.org/1998/Math/MathML&quot;,Ve=&quot;http://www.w3.org/2000/svg&quot;,Xe=&quot;http://www.w3.org/1999/xhtml&quot;,$e=Xe,Ze=!1,Je=void 0,Qe=[&quot;application/xhtml+xml&quot;,&quot;text/html&quot;],et=&quot;text/html&quot;,tt=void 0,nt=null,rt=o.createElement(&quot;form&quot;),ot=function(e){return e instanceof RegExp||e instanceof Function},it=function(e){nt&amp;&amp;nt===e||(e&amp;&amp;&quot;object&quot;===(void 0===e?&quot;undefined&quot;:W(e))||(e={}),e=x(e),Te=&quot;ALLOWED_TAGS&quot;in e?E({},e.ALLOWED_TAGS):Ne,Ae=&quot;ALLOWED_ATTR&quot;in e?E({},e.ALLOWED_ATTR):Ee,qe=&quot;ADD_URI_SAFE_ATTR&quot;in e?E(x(Ye),e.ADD_URI_SAFE_ATTR):Ye,Ge=&quot;ADD_DATA_URI_TAGS&quot;in e?E(x(We),e.ADD_DATA_URI_TAGS):We,je=&quot;FORBID_CONTENTS&quot;in e?E({},e.FORBID_CONTENTS):Pe,ke=&quot;FORBID_TAGS&quot;in e?E({},e.FORBID_TAGS):{},Se=&quot;FORBID_ATTR&quot;in e?E({},e.FORBID_ATTR):{},Be=&quot;USE_PROFILES&quot;in e&amp;&amp;e.USE_PROFILES,we=!1!==e.ALLOW_ARIA_ATTR,_e=!1!==e.ALLOW_DATA_ATTR,Oe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,De=e.SAFE_FOR_TEMPLATES||!1,Me=e.WHOLE_DOCUMENT||!1,Re=e.RETURN_DOM||!1,Ie=e.RETURN_DOM_FRAGMENT||!1,Fe=e.RETURN_TRUSTED_TYPE||!1,Le=e.FORCE_BODY||!1,He=!1!==e.SANITIZE_DOM,Ue=!1!==e.KEEP_CONTENT,ze=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,$e=e.NAMESPACE||Xe,e.CUSTOM_ELEMENT_HANDLING&amp;&amp;ot(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&amp;&amp;(xe.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&amp;&amp;ot(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&amp;&amp;(xe.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&amp;&amp;&quot;boolean&quot;==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&amp;&amp;(xe.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Je=Je=-1===Qe.indexOf(e.PARSER_MEDIA_TYPE)?et:e.PARSER_MEDIA_TYPE,tt=&quot;application/xhtml+xml&quot;===Je?function(e){return e}:h,De&amp;&amp;(_e=!1),Ie&amp;&amp;(Re=!0),Be&amp;&amp;(Te=E({},[].concat(q(C))),Ae=[],!0===Be.html&amp;&amp;(E(Te,S),E(Ae,L)),!0===Be.svg&amp;&amp;(E(Te,w),E(Ae,R),E(Ae,F)),!0===Be.svgFilters&amp;&amp;(E(Te,_),E(Ae,R),E(Ae,F)),!0===Be.mathMl&amp;&amp;(E(Te,D),E(Ae,I),E(Ae,F))),e.ADD_TAGS&amp;&amp;(Te===Ne&amp;&amp;(Te=x(Te)),E(Te,e.ADD_TAGS)),e.ADD_ATTR&amp;&amp;(Ae===Ee&amp;&amp;(Ae=x(Ae)),E(Ae,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&amp;&amp;E(qe,e.ADD_URI_SAFE_ATTR),e.FORBID_CONTENTS&amp;&amp;(je===Pe&amp;&amp;(je=x(je)),E(je,e.FORBID_CONTENTS)),Ue&amp;&amp;(Te[&quot;#text&quot;]=!0),Me&amp;&amp;E(Te,[&quot;html&quot;,&quot;head&quot;,&quot;body&quot;]),Te.table&amp;&amp;(E(Te,[&quot;tbody&quot;]),delete ke.tbody),i&amp;&amp;i(e),nt=e)},at=E({},[&quot;mi&quot;,&quot;mo&quot;,&quot;mn&quot;,&quot;ms&quot;,&quot;mtext&quot;]),lt=E({},[&quot;foreignobject&quot;,&quot;desc&quot;,&quot;title&quot;,&quot;annotation-xml&quot;]),ct=E({},w);E(ct,_),E(ct,O);var st=E({},D);E(st,M);var ut=function(e){var t=te(e);t&amp;&amp;t.tagName||(t={namespaceURI:Xe,tagName:&quot;template&quot;});var n=h(e.tagName),r=h(t.tagName);if(e.namespaceURI===Ve)return t.namespaceURI===Xe?&quot;svg&quot;===n:t.namespaceURI===Ke?&quot;svg&quot;===n&amp;&amp;(&quot;annotation-xml&quot;===r||at[r]):Boolean(ct[n]);if(e.namespaceURI===Ke)return t.namespaceURI===Xe?&quot;math&quot;===n:t.namespaceURI===Ve?&quot;math&quot;===n&amp;&amp;lt[r]:Boolean(st[n]);if(e.namespaceURI===Xe){if(t.namespaceURI===Ve&amp;&amp;!lt[r])return!1;if(t.namespaceURI===Ke&amp;&amp;!at[r])return!1;var o=E({},[&quot;title&quot;,&quot;style&quot;,&quot;font&quot;,&quot;a&quot;,&quot;script&quot;]);return!st[n]&amp;&amp;(o[n]||!ct[n])}return!1},mt=function(e){p(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=oe}catch(t){e.remove()}}},ft=function(e,t){try{p(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){p(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),&quot;is&quot;===e&amp;&amp;!Ae[e])if(Re||Ie)try{mt(t)}catch(e){}else try{t.setAttribute(e,&quot;&quot;)}catch(e){}},dt=function(e){var t=void 0,n=void 0;if(Le)e=&quot;&lt;remove&gt;&lt;/remove&gt;&quot;+e;else{var r=g(e,/^[\r\n\t ]+/);n=r&amp;&amp;r[0]}&quot;application/xhtml+xml&quot;===Je&amp;&amp;(e=&#39;&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&#39;+e+&quot;&lt;/body&gt;&lt;/html&gt;&quot;);var i=re?re.createHTML(e):e;if($e===Xe)try{t=(new X).parseFromString(i,Je)}catch(e){}if(!t||!t.documentElement){t=ae.createDocument($e,&quot;template&quot;,null);try{t.documentElement.innerHTML=Ze?&quot;&quot;:i}catch(e){}}var a=t.body||t.documentElement;return e&amp;&amp;n&amp;&amp;a.insertBefore(o.createTextNode(n),a.childNodes[0]||null),$e===Xe?se.call(t,Me?&quot;html&quot;:&quot;body&quot;)[0]:Me?t.documentElement:a},pt=function(e){return le.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},ht=function(e){return e instanceof V&amp;&amp;(&quot;string&quot;!=typeof e.nodeName||&quot;string&quot;!=typeof e.textContent||&quot;function&quot;!=typeof e.removeChild||!(e.attributes instanceof A)||&quot;function&quot;!=typeof e.removeAttribute||&quot;function&quot;!=typeof e.setAttribute||&quot;string&quot;!=typeof e.namespaceURI||&quot;function&quot;!=typeof e.insertBefore)},gt=function(e){return&quot;object&quot;===(void 0===c?&quot;undefined&quot;:W(c))?e instanceof c:e&amp;&amp;&quot;object&quot;===(void 0===e?&quot;undefined&quot;:W(e))&amp;&amp;&quot;number&quot;==typeof e.nodeType&amp;&amp;&quot;string&quot;==typeof e.nodeName},yt=function(e,t,r){fe[e]&amp;&amp;f(fe[e],(function(e){e.call(n,t,r,nt)}))},vt=function(e){var t=void 0;if(yt(&quot;beforeSanitizeElements&quot;,e,null),ht(e))return mt(e),!0;if(g(e.nodeName,/[\u0080-\uFFFF]/))return mt(e),!0;var r=tt(e.nodeName);if(yt(&quot;uponSanitizeElement&quot;,e,{tagName:r,allowedTags:Te}),!gt(e.firstElementChild)&amp;&amp;(!gt(e.content)||!gt(e.content.firstElementChild))&amp;&amp;T(/&lt;[/\w]/g,e.innerHTML)&amp;&amp;T(/&lt;[/\w]/g,e.textContent))return mt(e),!0;if(&quot;select&quot;===r&amp;&amp;T(/&lt;template/i,e.innerHTML))return mt(e),!0;if(!Te[r]||ke[r]){if(Ue&amp;&amp;!je[r]){var o=te(e)||e.parentNode,i=ee(e)||e.childNodes;if(i&amp;&amp;o)for(var a=i.length-1;a&gt;=0;--a)o.insertBefore(J(i[a],!0),Q(e))}if(!ke[r]&amp;&amp;Tt(r)){if(xe.tagNameCheck instanceof RegExp&amp;&amp;T(xe.tagNameCheck,r))return!1;if(xe.tagNameCheck instanceof Function&amp;&amp;xe.tagNameCheck(r))return!1}return mt(e),!0}return e instanceof s&amp;&amp;!ut(e)?(mt(e),!0):&quot;noscript&quot;!==r&amp;&amp;&quot;noembed&quot;!==r||!T(/&lt;\/no(script|embed)/i,e.innerHTML)?(De&amp;&amp;3===e.nodeType&amp;&amp;(t=e.textContent,t=y(t,de,&quot; &quot;),t=y(t,pe,&quot; &quot;),e.textContent!==t&amp;&amp;(p(n.removed,{element:e.cloneNode()}),e.textContent=t)),yt(&quot;afterSanitizeElements&quot;,e,null),!1):(mt(e),!0)},bt=function(e,t,n){if(He&amp;&amp;(&quot;id&quot;===t||&quot;name&quot;===t)&amp;&amp;(n in o||n in rt))return!1;if(_e&amp;&amp;!Se[t]&amp;&amp;T(he,t));else if(we&amp;&amp;T(ge,t));else if(!Ae[t]||Se[t]){if(!(Tt(e)&amp;&amp;(xe.tagNameCheck instanceof RegExp&amp;&amp;T(xe.tagNameCheck,e)||xe.tagNameCheck instanceof Function&amp;&amp;xe.tagNameCheck(e))&amp;&amp;(xe.attributeNameCheck instanceof RegExp&amp;&amp;T(xe.attributeNameCheck,t)||xe.attributeNameCheck instanceof Function&amp;&amp;xe.attributeNameCheck(t))||&quot;is&quot;===t&amp;&amp;xe.allowCustomizedBuiltInElements&amp;&amp;(xe.tagNameCheck instanceof RegExp&amp;&amp;T(xe.tagNameCheck,n)||xe.tagNameCheck instanceof Function&amp;&amp;xe.tagNameCheck(n))))return!1}else if(qe[t]);else if(T(be,y(n,ve,&quot;&quot;)));else if(&quot;src&quot;!==t&amp;&amp;&quot;xlink:href&quot;!==t&amp;&amp;&quot;href&quot;!==t||&quot;script&quot;===e||0!==v(n,&quot;data:&quot;)||!Ge[e]){if(Oe&amp;&amp;!T(ye,y(n,ve,&quot;&quot;)));else if(n)return!1}else;return!0},Tt=function(e){return e.indexOf(&quot;-&quot;)&gt;0},Nt=function(e){var t=void 0,r=void 0,o=void 0,i=void 0;yt(&quot;beforeSanitizeAttributes&quot;,e,null);var a=e.attributes;if(a){var l={attrName:&quot;&quot;,attrValue:&quot;&quot;,keepAttr:!0,allowedAttributes:Ae};for(i=a.length;i--;){var c=t=a[i],s=c.name,u=c.namespaceURI;if(r=b(t.value),o=tt(s),l.attrName=o,l.attrValue=r,l.keepAttr=!0,l.forceKeepAttr=void 0,yt(&quot;uponSanitizeAttribute&quot;,e,l),r=l.attrValue,!l.forceKeepAttr&amp;&amp;(ft(s,e),l.keepAttr))if(T(/\/&gt;/i,r))ft(s,e);else{De&amp;&amp;(r=y(r,de,&quot; &quot;),r=y(r,pe,&quot; &quot;));var m=tt(e.nodeName);if(bt(m,o,r))try{u?e.setAttributeNS(u,s,r):e.setAttribute(s,r),d(n.removed)}catch(e){}}}yt(&quot;afterSanitizeAttributes&quot;,e,null)}},At=function e(t){var n=void 0,r=pt(t);for(yt(&quot;beforeSanitizeShadowDOM&quot;,t,null);n=r.nextNode();)yt(&quot;uponSanitizeShadowNode&quot;,n,null),vt(n)||(n.content instanceof a&amp;&amp;e(n.content),Nt(n));yt(&quot;afterSanitizeShadowDOM&quot;,t,null)};return n.sanitize=function(e,o){var i=void 0,l=void 0,s=void 0,u=void 0,m=void 0;if((Ze=!e)&amp;&amp;(e=&quot;\x3c!--\x3e&quot;),&quot;string&quot;!=typeof e&amp;&amp;!gt(e)){if(&quot;function&quot;!=typeof e.toString)throw N(&quot;toString is not a function&quot;);if(&quot;string&quot;!=typeof(e=e.toString()))throw N(&quot;dirty is not a string, aborting&quot;)}if(!n.isSupported){if(&quot;object&quot;===W(t.toStaticHTML)||&quot;function&quot;==typeof t.toStaticHTML){if(&quot;string&quot;==typeof e)return t.toStaticHTML(e);if(gt(e))return t.toStaticHTML(e.outerHTML)}return e}if(Ce||it(o),n.removed=[],&quot;string&quot;==typeof e&amp;&amp;(ze=!1),ze);else if(e instanceof c)1===(l=(i=dt(&quot;\x3c!----\x3e&quot;)).ownerDocument.importNode(e,!0)).nodeType&amp;&amp;&quot;BODY&quot;===l.nodeName||&quot;HTML&quot;===l.nodeName?i=l:i.appendChild(l);else{if(!Re&amp;&amp;!De&amp;&amp;!Me&amp;&amp;-1===e.indexOf(&quot;&lt;&quot;))return re&amp;&amp;Fe?re.createHTML(e):e;if(!(i=dt(e)))return Re?null:oe}i&amp;&amp;Le&amp;&amp;mt(i.firstChild);for(var f=pt(ze?e:i);s=f.nextNode();)3===s.nodeType&amp;&amp;s===u||vt(s)||(s.content instanceof a&amp;&amp;At(s.content),Nt(s),u=s);if(u=null,ze)return e;if(Re){if(Ie)for(m=ce.call(i.ownerDocument);i.firstChild;)m.appendChild(i.firstChild);else m=i;return Ae.shadowroot&amp;&amp;(m=ue.call(r,m,!0)),m}var d=Me?i.outerHTML:i.innerHTML;return De&amp;&amp;(d=y(d,de,&quot; &quot;),d=y(d,pe,&quot; &quot;)),re&amp;&amp;Fe?re.createHTML(d):d},n.setConfig=function(e){it(e),Ce=!0},n.clearConfig=function(){nt=null,Ce=!1},n.isValidAttribute=function(e,t,n){nt||it({});var r=tt(e),o=tt(t);return bt(r,o,n)},n.addHook=function(e,t){&quot;function&quot;==typeof t&amp;&amp;(fe[e]=fe[e]||[],p(fe[e],t))},n.removeHook=function(e){fe[e]&amp;&amp;d(fe[e])},n.removeHooks=function(e){fe[e]&amp;&amp;(fe[e]=[])},n.removeAllHooks=function(){fe={}},n}()}));</td>
          </tr>
          <tr>
            <td id="L3" class="blob-num js-line-number js-code-nav-line-number" data-line-number="3"></td>
            <td id="LC3" class="blob-code blob-code-inner js-file-line">//# sourceMappingURL=purify.min.js.map</td>
          </tr>
    </table>
  </div>
  
    <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true">
      <summary class="btn-octicon ml-0 px-2 p-0 color-bg-default border color-border-default rounded-1" aria-label="Inline file action toolbar">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
      <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
  </svg>
      </summary>
      <details-menu>
  
        <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se ml-2 mt-2"
        style="width:185px"
        >
          <li>
            <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-lines" style="cursor:pointer;" aria-label="Copy lines">
              Copy lines
            </clipboard-copy>
          </li>
          <li>
            <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;" aria-label="Copy permalink">
              Copy permalink
            </clipboard-copy>
          </li>
          <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/cure53/DOMPurify/blame/897b1218400578089328bf61f15159973c577ba9/dist/purify.min.js">View git blame</a></li>
            <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/cure53/DOMPurify/issues/new">Reference in new issue</a></li>
        </ul>
      </details-menu>
    </details>
  
    </div>
  
      </div>
  
  
    
  
    <details class="details-reset details-overlay details-overlay-dark" id="jumpto-line-details-dialog">
      <summary data-hotkey="l" aria-label="Jump to line"></summary>
      <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
        <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get">
          <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
          <button data-close-dialog="" type="submit" data-view-component="true" class="btn">
    
    Go
    
  
  </button>
  </form>    </details-dialog>
    </details>
  
      <div class="Popover anim-scale-in js-tagsearch-popover"
       hidden
       data-tagsearch-url="/cure53/DOMPurify/find-definition"
       data-tagsearch-ref="main">
    <div class="Popover-message Popover-message--large Popover-message--top-left TagsearchPopover mt-1 mb-4 mx-auto Box color-shadow-large">
      <div class="TagsearchPopover-content js-tagsearch-popover-content overflow-auto" style="will-change:transform;">
      </div>
    </div>
  </div>
  
  
  </div>
  
  
  
    </div>
  </div>
  
      </main>
    </div>
  
    </div>
  
              
  <div class="footer container-xl width-full p-responsive" role="contentinfo">
    <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 color-fg-muted border-top color-border-muted ">
      <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
        <li class="mr-3 mr-lg-0">&copy; 2021 GitHub, Inc.</li>
          <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1e3538449b0765b402660acc09dca345791b07c9a1282da10701578ec42085c6" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}">Terms</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ed4e3bb4f6c8dd2a449433e3ef1ff85f8d5fed8ed66b91981d68b71957f94d50" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}">Privacy</a></li>
          <li class="mr-3 mr-lg-0"><a data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f78e92cc573a60e0a96174654cb2db6e070a67de57eef990bff10657c9053afa" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security">Security</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2346937e8d8cc790f539ed411d084febf345970563f61d01bf5188bf8a9f0286" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}">Status</a></li>
          <li><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li>
      </ul>
  
      <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
        <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
      <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
  </svg>
  </a>
      <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
          <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5d5f3b4a640d2bd2108b31097a2176b37d14d4dbd922414d688bc606257d5793" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}">Contact GitHub</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="08ca94eb05eafdc4e10cf5eb8f02507677fa94a859558d4840bd7b811568e60d" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;}">Pricing</a></li>
        <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="434679c30ce982190732f60299cbe4df27a86d3a2ef44981bc0e1ba3bd0f272f" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;}">API</a></li>
        <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f5a0208d33d069ded606a1cee7cea13346548e28c31183f9a6bbda10dac3be63" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;}">Training</a></li>
          <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;,&quot;originating_url&quot;:&quot;https://github.com/cure53/DOMPurify/blob/main/dist/purify.min.js&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b86d226a7e82ef15a6379d28f7bdb27df798607b670594c67153478ec1781467" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;}">Blog</a></li>
          <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
      </ul>
    </div>
    <div class="d-flex flex-justify-center pb-6">
      <span class="f6 color-fg-muted"></span>
    </div>
  </div>
  
  
  
    <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
      <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
  </svg>
      <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg>
      </button>
      You can’t perform that action at this time.
    </div>
  
    <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
      >
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
      <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
  </svg>
      <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
      <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
    </div>
      <template id="site-details-dialog">
    <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
      <summary role="button" aria-label="Close dialog"></summary>
      <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
        <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
      <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
  </svg>
        </button>
        <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
      </details-dialog>
    </details>
  </template>
  
      <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
    <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
    </div>
  </div>
  
      <template id="snippet-clipboard-copy-button">
    <div class="zeroclipboard-container position-absolute right-0 top-0">
      <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
      <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
  </svg>
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
      <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
  </svg>
      </clipboard-copy>
    </div>
  </template>
  
  
  
  
    </body>
  </html>
  
  