Merge branch 'master' into feature/progress_sitefinity

main
Elbert Alias 1 year ago committed by GitHub
commit 3f9997e60c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,7 +6,6 @@
<script src="../js/wappalyzer.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/driver.js"></script>
<script src="../js/lib/network.js"></script>
</head>
<body>
</body>

@ -0,0 +1,15 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="32" height="32" fill="#009CDE"/>
<path d="M21.8667 22.5067H16V9.06667H21.2267C22.1333 9.06667 22.9333 9.17333 23.5733 9.38667C24.2133 9.6 24.7467 9.92 25.0667 10.2933C25.6533 10.9867 25.9733 11.7867 25.9733 12.64C25.9733 13.7067 25.6533 14.4533 24.96 14.9867C24.7467 15.1467 24.5867 15.2533 24.48 15.3067C24.3733 15.36 24.2133 15.4133 24 15.52C24.8533 15.68 25.4933 16.0533 25.9733 16.64C26.4533 17.2267 26.72 17.92 26.72 18.7733C26.72 19.7333 26.4 20.5333 25.76 21.2267C25.0133 22.08 23.68 22.5067 21.8667 22.5067ZM18.9867 14.5067H20.3733C21.2267 14.5067 21.8133 14.4 22.24 14.24C22.6667 14.08 22.8267 13.6533 22.8267 13.0667C22.8267 12.48 22.6667 12.0533 22.2933 11.8933C21.92 11.68 21.28 11.6267 20.4267 11.6267H18.9867V14.5067ZM18.9867 20H21.0667C21.92 20 22.56 19.8933 22.9867 19.68C23.4133 19.4667 23.6267 19.04 23.6267 18.4533C23.6267 17.8667 23.4133 17.44 22.9333 17.2267C22.4533 17.0133 21.76 16.9067 20.7467 16.9067H18.9867V20Z" fill="white"/>
<g filter="url(#filter0_b_4645_5)">
<path d="M8 19.4667L6.66666 22.5067H4.26666L10.1333 9.06667H12.5333L18.5067 22.5067H16.1067L14.72 19.4667H8ZM13.8133 17.3867L11.36 11.84L8.90666 17.3867H13.8133Z" fill="white"/>
</g>
<defs>
<filter id="filter0_b_4645_5" x="0.266663" y="5.06667" width="22.24" height="21.44" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="2"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_4645_5"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_4645_5" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

@ -0,0 +1,3 @@
<svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 16.6667V32.6667H16H32V16.6667V0.666685H16H0V16.6667ZM19.392 8.82669C21.28 11.3387 24.064 15.0187 25.568 17.0347C27.088 19.0347 28.368 20.7947 28.416 20.9547C28.464 21.0987 28.016 20.7147 27.408 20.0747C22.624 15.0667 15.76 8.02669 15.664 8.02669C15.6 8.02669 14.432 9.16269 13.088 10.5387C9.072 14.6827 6.528 17.3067 5.12 18.7947C4.272 19.6747 3.728 20.1387 3.632 20.0427C3.536 19.9467 4.72 18.2347 6.816 15.4347C15.616 3.73869 15.552 3.81869 15.76 4.05869C15.872 4.17069 17.504 6.31469 19.392 8.82669ZM17.536 12.1387C24.448 21.2747 25.584 22.8107 25.504 22.8907C25.456 22.9387 25.328 22.8747 25.216 22.7147C25.12 22.5707 23.152 20.5227 20.848 18.1547C18.56 15.8027 16.432 13.5947 16.128 13.2587L15.584 12.6507L11.424 16.9387C9.12 19.2907 7.056 21.4667 6.816 21.7387C6.368 22.2667 6.08 22.4107 6.08 22.0907C6.08 21.9627 14.416 10.7627 15.168 9.89869C15.296 9.75469 15.456 9.62669 15.52 9.62669C15.584 9.62669 16.496 10.7627 17.536 12.1387ZM19.456 19.7067C23.184 24.6667 23.536 25.1467 23.456 25.1467C23.392 25.1467 19.488 21.1787 17.104 18.6987L15.6 17.1147L11.872 20.9387C9.808 23.0347 8.176 24.6187 8.224 24.4747C8.272 24.3307 9.936 22.0427 11.92 19.3867L15.536 14.5707L15.904 15.0187C16.096 15.2587 17.696 17.3707 19.456 19.7067ZM18.384 23.5147C19.808 25.3867 20.96 26.9707 20.96 27.0347C20.96 27.0987 19.776 25.9147 18.336 24.4267L15.712 21.7067L13.104 24.2667C11.68 25.6747 10.576 26.7147 10.656 26.5867C11.024 25.9147 15.568 20.0107 15.68 20.0587C15.744 20.0907 16.976 21.6427 18.384 23.5147ZM16.752 26.8267C18.608 29.2747 18.656 29.4347 17.056 27.8667L15.52 26.3467L14.064 27.7867C13.248 28.5867 12.656 29.1147 12.72 28.9867C13.04 28.4107 15.424 25.3067 15.536 25.3387C15.6 25.3707 16.144 26.0267 16.752 26.8267Z" fill="#E43427"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,29 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M27.6533 15.1467H4.61333C4.02667 15.1467 3.54667 14.6667 3.54667 14.08V12.4533C3.54667 10.6133 5.04 9.12 6.88 9.12H25.36C27.2 9.12 28.6933 10.6133 28.6933 12.4533V14.08C28.72 14.6667 28.24 15.1467 27.6533 15.1467Z" fill="url(#paint0_linear_4640_23)"/>
<path d="M22.8 7.36001H9.46667C8.88 7.36001 8.37333 6.88001 8.37333 6.26668C8.37333 3.54668 10.5867 1.33334 13.3067 1.33334H18.96C21.68 1.33334 23.8933 3.54668 23.8933 6.26668C23.8933 6.88001 23.4133 7.36001 22.8 7.36001Z" fill="url(#paint1_linear_4640_23)"/>
<path d="M28.72 16.9067H3.54667C1.89333 16.9067 0.533334 18.2667 0.533334 19.92C0.533334 21.5733 1.89333 22.9333 3.54667 22.9333H12.48C12.8 21.2267 14.2933 19.92 16.1067 19.92C17.92 19.92 19.44 21.2267 19.76 22.9333H28.6933C30.3467 22.9333 31.7067 21.5733 31.7067 19.92C31.7067 18.2667 30.3733 16.9067 28.72 16.9067Z" fill="url(#paint2_linear_4640_23)"/>
<path d="M27.6267 24.6933H19.8133V30.72H25.68C27.3333 30.72 28.6933 29.36 28.6933 27.7067V25.7867C28.72 25.2 28.24 24.6933 27.6267 24.6933Z" fill="url(#paint3_linear_4640_23)"/>
<path d="M4.61333 24.6933C4.02667 24.6933 3.52 25.1733 3.52 25.7867V27.7067C3.52 29.36 4.88 30.72 6.53333 30.72H12.4V24.6933C12.4267 24.6933 4.61333 24.6933 4.61333 24.6933Z" fill="url(#paint4_linear_4640_23)"/>
<defs>
<linearGradient id="paint0_linear_4640_23" x1="12.5818" y1="9.61219" x2="14.1524" y2="16.7899" gradientUnits="userSpaceOnUse">
<stop stop-color="#D95DA7"/>
<stop offset="1" stop-color="#64E3DC" stop-opacity="0.99"/>
</linearGradient>
<linearGradient id="paint1_linear_4640_23" x1="13.9494" y1="1.82554" x2="16.3184" y2="8.50695" gradientUnits="userSpaceOnUse">
<stop stop-color="#D95DA7"/>
<stop offset="1" stop-color="#64E3DC" stop-opacity="0.99"/>
</linearGradient>
<linearGradient id="paint2_linear_4640_23" x1="11.7333" y1="17.3989" x2="13.0209" y2="24.693" gradientUnits="userSpaceOnUse">
<stop stop-color="#D95DA7"/>
<stop offset="1" stop-color="#64E3DC" stop-opacity="0.99"/>
</linearGradient>
<linearGradient id="paint3_linear_4640_23" x1="23.0041" y1="25.1855" x2="26.3717" y2="30.6203" gradientUnits="userSpaceOnUse">
<stop stop-color="#D95DA7"/>
<stop offset="1" stop-color="#64E3DC" stop-opacity="0.99"/>
</linearGradient>
<linearGradient id="paint4_linear_4640_23" x1="6.71044" y1="25.1855" x2="10.0781" y2="30.62" gradientUnits="userSpaceOnUse">
<stop stop-color="#D95DA7"/>
<stop offset="1" stop-color="#64E3DC" stop-opacity="0.99"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.2502 24.0878L20.4693 5.74689C19.6161 4.14693 17.3142 4.18922 16.5197 5.81897L14.1145 10.6601C13.8238 11.2562 13.9586 11.469 14.2003 11.815C14.3941 12.0925 14.8441 12.1144 15.0273 11.8297C15.2073 11.5497 15.6245 11.5755 15.7688 11.8755L22.0571 24.9554C22.531 26.0212 23.5236 26.7639 24.6782 26.9158L28.0052 27.3411C29.7955 27.5766 31.1016 25.6841 30.2502 24.0878Z" fill="#0C0C14"/>
<path d="M17.2404 25.3523L11.7051 9.40339C11.0903 7.63219 8.51292 7.7089 8.00847 9.51328L6.32452 15.5392C6.13353 16.2233 6.06006 16.6189 6.32503 17.2786H6.96446L9.28905 24.707C9.64905 25.6034 10.3927 26.2991 11.3222 26.6087L14.7876 27.7635C16.3074 28.2698 17.7579 26.8439 17.2404 25.3523Z" fill="#0C0C14"/>
<path d="M2.09647 14.687L1.15978 22.8118C1.06355 23.6461 1.38172 24.4747 2.01158 25.0299L4.33274 27.0762C5.12752 27.777 6.36197 27.094 6.19123 26.048L4.32982 14.6345C4.1189 13.3421 2.24648 13.3862 2.09647 14.687Z" fill="#0C0C14"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -1,11 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="32" height="32" fill="#121826"/>
<path d="M18.4699 16.0107V3.25583C18.4699 0.948274 15.5718 -0.0806541 14.1167 1.71027L3.75336 14.4652C2.45196 16.0669 3.5918 18.4616 5.65559 18.4616H16.0189C17.3725 18.4616 18.4699 17.3644 18.4699 16.0107Z" fill="url(#paint0_linear_3_61)"/>
<path d="M25.4594 14.3162H15.5368C14.1047 14.3162 12.9437 15.4771 12.9437 16.9093V29.1216C12.9437 31.5631 16.0098 32.6516 17.5493 30.7568L27.4719 18.5444C28.8488 16.8499 27.6428 14.3162 25.4594 14.3162Z" fill="white"/>
<defs>
<linearGradient id="paint0_linear_3_61" x1="8.79716" y1="1.18889" x2="20.5426" y2="23.298" gradientUnits="userSpaceOnUse">
<stop stop-color="#BCBECD"/>
<stop offset="1" stop-color="#BCBECD" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 851 B

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.96058 16.176C7.96024 14.9269 8.36258 13.711 9.10791 12.7087C9.85324 11.7064 10.9018 10.971 12.0982 10.6118C13.2944 10.2525 14.5746 10.2885 15.7489 10.7144C16.9231 11.1403 17.9287 11.9334 18.6166 12.976C18.7973 13.2561 18.9551 13.5505 19.0886 13.856C20.0547 12.5185 21.2754 11.3848 22.6806 10.52L22.5846 10.36C21.5801 8.83171 20.196 7.59051 18.5677 6.7579C16.9394 5.92528 15.1228 5.52982 13.2958 5.61022C11.4687 5.69063 9.69385 6.24414 8.14499 7.21656C6.59614 8.18899 5.32638 9.54699 4.46004 11.1576C3.5937 12.7681 3.16049 14.5761 3.20283 16.4045C3.24517 18.2328 3.76161 20.0188 4.70157 21.5876C5.64153 23.1563 6.97279 24.4541 8.565 25.3538C10.1572 26.2535 11.9558 26.7242 13.7846 26.72H16.6966V21.976H13.7686C12.2296 21.976 10.7535 21.3652 9.66454 20.2777C8.57555 19.1902 7.9627 17.7149 7.96058 16.176Z" fill="#834FE1"/>
<path d="M23.4646 26.728H18.7046V21.232C18.7088 18.4311 19.8222 15.7459 21.8012 13.7639C23.7802 11.7819 26.4638 10.6644 29.2646 10.656V15.456C27.727 15.4581 26.253 16.0698 25.1657 17.1571C24.0785 18.2444 23.4667 19.7184 23.4646 21.256V26.728Z" fill="#834FE1"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,14 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22.5384 22.1136C24.2374 20.4358 25.0654 18.3316 24.9674 15.8719C24.9394 14.1941 24.4054 12.5733 23.4644 11.1941C22.6364 10.014 21.4854 9.00455 20.0244 8.17991C17.7504 6.9145 13.6083 5.9619 9.9017 5.60645V8.13725C13.2854 8.46427 16.8794 9.31735 18.8594 10.4121C21.2324 11.7486 22.4394 13.5543 22.5244 15.9714C22.5804 17.6918 22.0324 19.1136 20.8534 20.2795C18.8594 22.2415 15.0684 23.5212 9.8736 23.9477C8.5819 24.0614 7.23399 24.1183 5.8299 24.1183C4.8471 24.1183 4.0187 24.0899 3.4571 24.0614V5.74863H1V26.4358C1.6178 26.4358 1.4774 26.4643 2.1232 26.5212C2.2777 26.5354 3.7519 26.6633 5.858 26.6633C10.365 26.6633 18.5364 26.0662 22.5384 22.1136Z" fill="url(#paint0_linear_4649_84)"/>
<path d="M25.9354 5.70616C24.3624 4.28436 22.3544 3.16114 19.9674 2.36493C17.9324 1.72512 15.8254 1.3128 13.6917 1.14218C12.6387 1.05687 11.5435 1 10.4483 1C8.2159 1 5.59029 1.24171 5.53419 1.24171V22.2133H8.01929V3.63033C8.59499 3.58768 9.4234 3.54503 10.4203 3.54503C13.9304 3.54503 20.3894 4.07109 24.2364 7.59716C26.5104 9.67299 27.6194 12.5877 27.5214 16.2559C27.4234 19.9242 26.1594 22.9384 23.7444 24.9574C20.3044 27.8578 15.1664 28.455 11.4593 28.455C8.8477 28.455 5.801 27.9858 5.7869 27.9858V30.5166C7.6683 30.8152 9.5638 30.9858 11.4593 31C12.077 31 12.7089 30.9858 13.3266 30.9574C18.4374 30.673 22.4814 29.3223 25.3454 26.9195C28.2094 24.5166 29.9224 20.8484 30.0344 16.327C30.1474 11.8057 28.7714 8.30806 25.9354 5.70616Z" fill="url(#paint1_linear_4649_84)"/>
<defs>
<linearGradient id="paint0_linear_4649_84" x1="1" y1="16.1349" x2="24.9744" y2="16.1349" gradientUnits="userSpaceOnUse">
<stop stop-color="#03DAC6"/>
<stop offset="1" stop-color="#49BFF9"/>
</linearGradient>
<linearGradient id="paint1_linear_4649_84" x1="5.53419" y1="16" x2="30.0414" y2="16" gradientUnits="userSpaceOnUse">
<stop stop-color="#03DAC6"/>
<stop offset="1" stop-color="#49BFF9"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.0453 3.11285H4.95351C4.71178 3.11285 4.47241 3.1605 4.24911 3.25307C4.0258 3.34564 3.82292 3.48131 3.65208 3.65234C3.48124 3.82337 3.34578 4.02639 3.25344 4.2498C3.16111 4.47321 3.11372 4.71263 3.11397 4.95438V27.045C3.11372 27.2867 3.16111 27.5262 3.25344 27.7496C3.34578 27.973 3.48124 28.176 3.65208 28.347C3.82292 28.5181 4.0258 28.6537 4.24911 28.7463C4.47241 28.8389 4.71178 28.8865 4.95351 28.8865H27.0453C27.5336 28.8865 28.002 28.6925 28.3474 28.3472C28.6927 28.0018 28.8867 27.5334 28.8867 27.045V4.95438C28.8867 4.46597 28.6927 3.99758 28.3474 3.65222C28.002 3.30687 27.5336 3.11285 27.0453 3.11285ZM11.0911 23.3639C11.0911 23.8523 10.8971 24.3207 10.5517 24.666C10.2064 25.0114 9.73799 25.2054 9.24961 25.2054C8.76122 25.2054 8.29284 25.0114 7.9475 24.666C7.60216 24.3207 7.40815 23.8523 7.40815 23.3639V8.63551C7.40815 8.39368 7.45578 8.15422 7.54832 7.93079C7.64086 7.70737 7.7765 7.50435 7.9475 7.33335C8.1185 7.16235 8.3215 7.02671 8.54491 6.93417C8.76833 6.84162 9.00778 6.79398 9.24961 6.79398C9.49143 6.79398 9.73089 6.84162 9.9543 6.93417C10.1777 7.02671 10.3807 7.16235 10.5517 7.33335C10.7227 7.50435 10.8583 7.70737 10.9509 7.93079C11.0434 8.15422 11.0911 8.39368 11.0911 8.63551V23.3639ZM17.8399 23.3639C17.8478 23.6106 17.8061 23.8564 17.7172 24.0866C17.6283 24.3169 17.494 24.5269 17.3223 24.7042C17.1506 24.8816 16.945 25.0226 16.7178 25.1189C16.4905 25.2152 16.2462 25.2648 15.9994 25.2648C15.7526 25.2648 15.5083 25.2152 15.281 25.1189C15.0537 25.0226 14.8481 24.8816 14.6764 24.7042C14.5048 24.5269 14.3705 24.3169 14.2815 24.0866C14.1926 23.8564 14.1509 23.6106 14.1589 23.3639V17.8412C14.1509 17.5945 14.1926 17.3487 14.2815 17.1185C14.3705 16.8882 14.5048 16.6782 14.6764 16.5008C14.8481 16.3235 15.0537 16.1825 15.281 16.0862C15.5083 15.9899 15.7526 15.9403 15.9994 15.9403C16.2462 15.9403 16.4905 15.9899 16.7178 16.0862C16.945 16.1825 17.1506 16.3235 17.3223 16.5008C17.494 16.6782 17.6283 16.8882 17.7172 17.1185C17.8061 17.3487 17.8478 17.5945 17.8399 17.8412V23.3639ZM22.7434 25.2054C22.3792 25.2054 22.0232 25.0974 21.7204 24.895C21.4175 24.6927 21.1815 24.4051 21.0421 24.0686C20.9028 23.7321 20.8663 23.3618 20.9373 23.0046C21.0084 22.6474 21.1838 22.3193 21.4413 22.0617C21.6988 21.8042 22.027 21.6288 22.3842 21.5577C22.7414 21.4867 23.1116 21.5231 23.4481 21.6625C23.7846 21.8019 24.0722 22.0379 24.2745 22.3408C24.4769 22.6436 24.5849 22.9997 24.5849 23.3639C24.5851 23.6058 24.5377 23.8453 24.4452 24.0689C24.3528 24.2924 24.2171 24.4955 24.0461 24.6666C23.875 24.8376 23.6719 24.9733 23.4484 25.0657C23.2249 25.1582 22.9853 25.2056 22.7434 25.2054ZM22.7434 19.6827C22.3792 19.6827 22.0232 19.5747 21.7204 19.3724C21.4175 19.17 21.1815 18.8824 21.0421 18.5459C20.9028 18.2094 20.8663 17.8392 20.9373 17.4819C21.0084 17.1247 21.1838 16.7966 21.4413 16.5391C21.6988 16.2815 22.027 16.1061 22.3842 16.0351C22.7414 15.964 23.1116 16.0005 23.4481 16.1399C23.7846 16.2792 24.0722 16.5153 24.2745 16.8181C24.4769 17.121 24.5849 17.477 24.5849 17.8412C24.5849 18.083 24.5372 18.3225 24.4447 18.5459C24.3522 18.7694 24.2165 18.9724 24.0455 19.1434C23.8745 19.3144 23.6715 19.45 23.4481 19.5426C23.2247 19.6351 22.9852 19.6827 22.7434 19.6827ZM22.7434 14.1582C22.3791 14.1582 22.023 14.0501 21.7202 13.8477C21.4173 13.6452 21.1813 13.3575 21.0419 13.0209C20.9026 12.6843 20.8663 12.3139 20.9375 11.9567C21.0087 11.5994 21.1843 11.2713 21.442 11.0138C21.6997 10.7563 22.028 10.5811 22.3853 10.5103C22.7427 10.4394 23.113 10.4762 23.4494 10.6158C23.7859 10.7555 24.0733 10.9919 24.2755 11.2949C24.4776 11.598 24.5852 11.9543 24.5849 12.3186C24.5849 12.5603 24.5372 12.7997 24.4447 13.023C24.3521 13.2463 24.2164 13.4492 24.0454 13.62C23.8744 13.7909 23.6714 13.9263 23.448 14.0187C23.2246 14.111 22.9851 14.1584 22.7434 14.1582Z" fill="#2B88C9"/>
<path opacity="0.3" fill-rule="evenodd" clip-rule="evenodd" d="M31.8875 21.9688L24.3339 1.21001C24.1666 0.751985 23.8246 0.378966 23.3828 0.172768C22.941 -0.0334294 22.4354 -0.0559758 21.9769 0.110078L1.2112 7.66397C0.983958 7.74675 0.77525 7.87348 0.59699 8.03692C0.418731 8.20037 0.274412 8.39733 0.172276 8.61656C0.0701393 8.83579 0.0121853 9.07299 0.00172375 9.31461C-0.00873784 9.55624 0.0284977 9.79757 0.111304 10.0248L7.66684 30.7894C7.83403 31.2479 8.17636 31.6212 8.61865 31.8275C9.06094 32.0337 9.567 32.056 10.0257 31.8893L30.7914 24.3354C31.2504 24.1667 31.6236 23.8227 31.8291 23.3789C32.0346 22.9352 32.0556 22.428 31.8875 21.9688ZM11.0911 23.3562C11.0911 23.8446 10.8971 24.313 10.5517 24.6584C10.2064 25.0037 9.738 25.1977 9.24961 25.1977C8.76123 25.1977 8.29284 25.0037 7.9475 24.6584C7.60216 24.313 7.40815 23.8446 7.40815 23.3562V8.6221C7.40815 8.1337 7.60216 7.6653 7.9475 7.31995C8.29284 6.97459 8.76123 6.78058 9.24961 6.78058C9.738 6.78058 10.2064 6.97459 10.5517 7.31995C10.8971 7.6653 11.0911 8.1337 11.0911 8.6221V23.3562ZM17.8399 23.3562C17.8245 23.8341 17.6238 24.2872 17.2803 24.6198C16.9368 24.9524 16.4775 25.1383 15.9994 25.1383C15.5213 25.1383 15.0619 24.9524 14.7185 24.6198C14.375 24.2872 14.1743 23.8341 14.1589 23.3562V17.8316C14.1743 17.3538 14.375 16.9006 14.7185 16.568C15.0619 16.2355 15.5213 16.0495 15.9994 16.0495C16.4775 16.0495 16.9368 16.2355 17.2803 16.568C17.6238 16.9006 17.8245 17.3538 17.8399 17.8316V23.3562ZM22.7492 25.1958C22.3849 25.1958 22.0288 25.0878 21.7259 24.8853C21.423 24.6829 21.187 24.3952 21.0477 24.0586C20.9084 23.722 20.872 23.3516 20.9432 22.9943C21.0144 22.637 21.19 22.3089 21.4477 22.0515C21.7055 21.794 22.0338 21.6188 22.3911 21.5479C22.7484 21.4771 23.1187 21.5138 23.4552 21.6535C23.7916 21.7932 24.0791 22.0295 24.2812 22.3326C24.4833 22.6357 24.591 22.9919 24.5906 23.3562C24.5906 23.598 24.543 23.8373 24.4504 24.0606C24.3578 24.284 24.2222 24.4868 24.0512 24.6577C23.8801 24.8285 23.6771 24.964 23.4537 25.0563C23.2303 25.1487 22.9909 25.1961 22.7492 25.1958ZM22.7492 19.6732C22.385 19.6732 22.0289 19.5652 21.7261 19.3628C21.4233 19.1605 21.1873 18.8728 21.0479 18.5364C20.9085 18.1999 20.872 17.8296 20.9431 17.4724C21.0141 17.1152 21.1895 16.787 21.4471 16.5295C21.7046 16.2719 22.0327 16.0965 22.3899 16.0255C22.7471 15.9544 23.1174 15.9909 23.4539 16.1303C23.7903 16.2697 24.0779 16.5057 24.2803 16.8085C24.4826 17.1114 24.5906 17.4674 24.5906 17.8316C24.5909 18.0735 24.5434 18.3131 24.451 18.5367C24.3585 18.7602 24.2229 18.9633 24.0518 19.1343C23.8808 19.3054 23.6777 19.441 23.4542 19.5335C23.2306 19.626 22.9911 19.6734 22.7492 19.6732ZM22.7492 14.1505C22.385 14.1505 22.0289 14.0425 21.7261 13.8402C21.4233 13.6378 21.1873 13.3502 21.0479 13.0137C20.9085 12.6772 20.872 12.3069 20.9431 11.9497C21.0141 11.5925 21.1895 11.2644 21.4471 11.0068C21.7046 10.7493 22.0327 10.5739 22.3899 10.5028C22.7471 10.4318 23.1174 10.4683 23.4539 10.6076C23.7903 10.747 24.0779 10.983 24.2803 11.2859C24.4826 11.5887 24.5906 11.9448 24.5906 12.309C24.5911 12.5507 24.544 12.7902 24.4519 13.0137C24.3598 13.2372 24.2245 13.4404 24.0539 13.6116C23.8832 13.7828 23.6805 13.9187 23.4573 14.0115C23.234 14.1043 22.9947 14.1522 22.753 14.1524L22.7492 14.1505Z" fill="#2B88C9"/>
</svg>

After

Width:  |  Height:  |  Size: 7.0 KiB

@ -0,0 +1,44 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4659_176)">
<mask id="mask0_4659_176" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32">
<path d="M32 0H0V32H32V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_4659_176)">
<mask id="mask1_4659_176" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="3" y="4" width="24" height="15">
<path d="M26.0571 7.07886L10.1586 7.08571C10.1586 7.08571 6.62857 8.26789 6.62857 11.0624C6.62857 16.1143 11.2302 15.8994 11.2302 15.8994L16 16" stroke="white" stroke-width="6"/>
</mask>
<g mask="url(#mask1_4659_176)">
<path d="M17.0839 16.9124H11.0729C8.10604 16.9124 5.6969 14.5033 5.6969 11.541C5.6969 8.57415 8.10604 6.16455 11.0729 6.16455H24.9787V7.99312H11.0729C9.11633 7.99312 7.52547 9.58444 7.52547 11.541C7.52547 13.493 9.11633 15.0839 11.0729 15.0839H17.0839V16.9124Z" fill="#66DFF6"/>
</g>
<mask id="mask2_4659_176" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="7" y="12" width="22" height="17">
<path d="M20.1143 15.7714C20.1143 15.7714 25.8286 15.5429 25.8286 20.9143C25.8286 23.8857 21.8286 25.1429 21.8286 25.1429L7.77142 25.0286" stroke="white" stroke-width="6"/>
</mask>
<g mask="url(#mask2_4659_176)">
<path d="M21.4135 25.8373H7.05005V24.0087H21.4135C23.37 24.0087 24.9609 22.4183 24.9609 20.4617C24.9609 18.5052 23.37 16.9138 21.4135 16.9138H21.3358V15.0853H21.4135C24.3803 15.0853 26.7895 17.4949 26.7895 20.4617C26.7895 23.424 24.3803 25.8373 21.4135 25.8373Z" fill="#66DFF6"/>
</g>
<path d="M21.3528 7.13689C21.3528 9.14727 22.9839 10.7738 24.9943 10.7738C27.0047 10.7738 28.6312 9.14727 28.6312 7.13689C28.6312 5.12651 27.0047 3.49536 24.9943 3.49536C22.9839 3.49536 21.3528 5.12651 21.3528 7.13689Z" fill="url(#paint0_linear_4659_176)"/>
<path d="M14.4469 12.3564C13.2898 12.3564 12.3564 13.2939 12.3564 14.4464V17.5563C12.3564 18.7087 13.2898 19.6417 14.4469 19.6417H17.5567C18.7092 19.6417 19.6422 18.7087 19.6422 17.5563V14.4464C19.6422 13.2939 18.7092 12.3564 17.5567 12.3564H14.4469Z" fill="url(#paint1_linear_4659_176)"/>
<path d="M3.40799 24.8512C3.40799 26.8626 5.03999 28.49 7.05142 28.49C9.06285 28.49 10.6903 26.8626 10.6903 24.8512C10.6903 22.8398 9.06285 21.2078 7.05142 21.2078C5.03999 21.2078 3.40799 22.8398 3.40799 24.8512Z" fill="url(#paint2_linear_4659_176)"/>
</g>
</g>
<defs>
<linearGradient id="paint0_linear_4659_176" x1="21.3528" y1="7.13597" x2="28.6331" y2="7.13597" gradientUnits="userSpaceOnUse">
<stop stop-color="#6BDAB6"/>
<stop offset="0.5" stop-color="#69DDD6"/>
<stop offset="1" stop-color="#66DFF6"/>
</linearGradient>
<linearGradient id="paint1_linear_4659_176" x1="12.3564" y1="16.0004" x2="19.6436" y2="16.0004" gradientUnits="userSpaceOnUse">
<stop stop-color="#6BDAB6"/>
<stop offset="0.5" stop-color="#69DDD6"/>
<stop offset="1" stop-color="#66DFF6"/>
</linearGradient>
<linearGradient id="paint2_linear_4659_176" x1="3.40799" y1="24.8503" x2="10.6921" y2="24.8503" gradientUnits="userSpaceOnUse">
<stop stop-color="#6BDAB6"/>
<stop offset="0.5" stop-color="#69DDD6"/>
<stop offset="1" stop-color="#66DFF6"/>
</linearGradient>
<clipPath id="clip0_4659_176">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.0077 15.9295C15.7641 15.9245 15.5233 15.8763 15.2965 15.7873L3.02987 10.8806C2.66028 10.7329 2.34344 10.4778 2.12025 10.1482C1.89706 9.81866 1.77777 9.42977 1.77777 9.03174C1.77777 8.63372 1.89706 8.24482 2.12025 7.91526C2.34344 7.58569 2.66028 7.33058 3.02987 7.18285L15.2965 2.27619C15.5226 2.18486 15.7638 2.13662 16.0077 2.13397C16.2754 2.12731 16.5416 2.17572 16.7899 2.27619L29.0565 7.18285C29.4261 7.33058 29.743 7.58569 29.9662 7.91526C30.1893 8.24482 30.3086 8.63372 30.3086 9.03174C30.3086 9.42977 30.1893 9.81866 29.9662 10.1482C29.743 10.4778 29.4261 10.7329 29.0565 10.8806L16.7899 15.7873C16.5522 15.8814 16.2988 15.9296 16.0432 15.9295H16.0077Z" fill="#268DF3"/>
<path opacity="0.5" d="M29.7321 15.7873L27.1721 14.7562L17.2166 18.7384C16.4626 19.0355 15.6239 19.0355 14.8699 18.7384L4.91433 14.7562L2.35433 15.7873C2.19398 15.8556 2.05726 15.9695 1.96115 16.1149C1.86505 16.2603 1.81381 16.4308 1.81381 16.6051C1.81381 16.7793 1.86505 16.9498 1.96115 17.0952C2.05726 17.2406 2.19398 17.3545 2.35433 17.4228L15.7232 22.7562C15.9292 22.8356 16.1573 22.8356 16.3632 22.7562L29.7321 17.4228C29.8925 17.3545 30.0292 17.2406 30.1253 17.0952C30.2214 16.9498 30.2726 16.7793 30.2726 16.6051C30.2726 16.4308 30.2214 16.2603 30.1253 16.1149C30.0292 15.9695 29.8925 15.8556 29.7321 15.7873Z" fill="#268DF3"/>
<path d="M29.7321 22.6851L27.1721 21.654L17.2166 25.6362C16.4626 25.9334 15.6239 25.9334 14.8699 25.6362L4.91433 21.6895L2.35433 22.7207C2.19398 22.789 2.05726 22.9029 1.96115 23.0483C1.86505 23.1937 1.81381 23.3641 1.81381 23.5384C1.81381 23.7127 1.86505 23.8832 1.96115 24.0286C2.05726 24.174 2.19398 24.2879 2.35433 24.3562L15.7232 29.6895C15.9292 29.769 16.1573 29.769 16.3632 29.6895L29.7321 24.3562C29.8925 24.2879 30.0292 24.174 30.1253 24.0286C30.2214 23.8832 30.2726 23.7127 30.2726 23.5384C30.2726 23.3641 30.2214 23.1937 30.1253 23.0483C30.0292 22.9029 29.8925 22.789 29.7321 22.7207V22.6851Z" fill="#268DF3"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,27 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.0597 16.6046C16.1856 16.6046 16.3086 16.5674 16.4132 16.4977C16.5178 16.4279 16.5993 16.3288 16.6473 16.2129C16.6954 16.0969 16.7079 15.9694 16.6832 15.8463C16.6586 15.7233 16.5978 15.6103 16.5087 15.5217C16.4197 15.4331 16.3062 15.3729 16.1827 15.3486C16.0593 15.3243 15.9314 15.3371 15.8152 15.3854C15.6991 15.4336 15.5999 15.5151 15.5302 15.6196C15.4605 15.7241 15.4235 15.8468 15.4239 15.9723C15.4239 16.0555 15.4403 16.1379 15.4723 16.2147C15.5043 16.2915 15.5511 16.3613 15.6102 16.42C15.6693 16.4788 15.7394 16.5253 15.8165 16.557C15.8937 16.5887 15.9763 16.6049 16.0597 16.6046Z" fill="#F39700"/>
<path d="M19.3652 13.5118C19.5535 13.5118 19.7376 13.4561 19.8942 13.3518C20.0507 13.2475 20.1728 13.0993 20.2448 12.9258C20.3169 12.7523 20.3358 12.5615 20.299 12.3773C20.2623 12.1932 20.1716 12.024 20.0384 11.8912C19.9053 11.7585 19.7356 11.6681 19.5509 11.6314C19.3663 11.5948 19.1748 11.6136 19.0008 11.6855C18.8269 11.7573 18.6782 11.879 18.5735 12.0351C18.4689 12.1912 18.4131 12.3747 18.4131 12.5625C18.4129 12.6872 18.4373 12.8108 18.4851 12.9261C18.5329 13.0413 18.603 13.1461 18.6915 13.2343C18.7799 13.3225 18.885 13.3924 19.0006 13.44C19.1162 13.4876 19.2401 13.512 19.3652 13.5118Z" fill="#DFECF5"/>
<path d="M20.8892 16.925C21.0776 16.925 21.2616 16.8693 21.4182 16.765C21.5748 16.6607 21.6968 16.5124 21.7689 16.339C21.8409 16.1655 21.8598 15.9746 21.8231 15.7905C21.7863 15.6063 21.6956 15.4372 21.5625 15.3044C21.4293 15.1717 21.2597 15.0812 21.075 15.0446C20.8903 15.008 20.6989 15.0268 20.5249 15.0986C20.3509 15.1705 20.2022 15.2922 20.0976 15.4483C19.993 15.6044 19.9371 15.7879 19.9371 15.9757C19.9371 16.2275 20.0374 16.4689 20.216 16.647C20.3946 16.825 20.6367 16.925 20.8892 16.925Z" fill="#DFECF5"/>
<path d="M19.3652 20.3499C19.554 20.3503 19.7386 20.2947 19.8957 20.1904C20.0528 20.086 20.1753 19.9375 20.2477 19.7636C20.3201 19.5898 20.3392 19.3984 20.3024 19.2138C20.2657 19.0292 20.1748 18.8596 20.0413 18.7265C19.9078 18.5934 19.7377 18.5028 19.5525 18.4661C19.3674 18.4295 19.1755 18.4485 19.0011 18.5206C18.8267 18.5928 18.6778 18.715 18.5731 18.8716C18.4685 19.0283 18.4128 19.2124 18.4131 19.4006C18.4131 19.6524 18.5134 19.8938 18.692 20.0719C18.8705 20.2499 19.1127 20.3499 19.3652 20.3499Z" fill="#DFECF5"/>
<path d="M16.0597 21.742C16.2482 21.7417 16.4323 21.6856 16.5888 21.5809C16.7452 21.4761 16.867 21.3274 16.9386 21.1537C17.0103 20.9799 17.0286 20.7888 16.9913 20.6046C16.9539 20.4204 16.8626 20.2515 16.7289 20.1191C16.5952 19.9867 16.425 19.8968 16.2401 19.8609C16.0551 19.825 15.8636 19.8446 15.6898 19.9173C15.516 19.9899 15.3678 20.1124 15.2638 20.2691C15.1599 20.4259 15.1049 20.6098 15.1059 20.7977C15.1059 20.9225 15.1306 21.0461 15.1786 21.1614C15.2265 21.2767 15.2968 21.3814 15.3854 21.4696C15.474 21.5578 15.5791 21.6277 15.6949 21.6753C15.8106 21.7229 15.9346 21.7473 16.0597 21.747V21.742Z" fill="#DFECF5"/>
<path d="M12.6752 20.4002C12.8637 20.4002 13.048 20.3444 13.2047 20.2399C13.3613 20.1353 13.4834 19.9868 13.5553 19.813C13.6272 19.6393 13.6458 19.4481 13.6086 19.2638C13.5715 19.0796 13.4803 18.9104 13.3466 18.7779C13.213 18.6453 13.0428 18.5553 12.8578 18.5192C12.6728 18.4832 12.4812 18.5027 12.3073 18.5753C12.1334 18.6479 11.9851 18.7704 11.8811 18.9272C11.7771 19.0839 11.7221 19.268 11.7231 19.4559C11.7231 19.7077 11.8234 19.9492 12.0019 20.1272C12.1805 20.3052 12.4227 20.4053 12.6752 20.4053V20.4002Z" fill="#DFECF5"/>
<path d="M11.247 16.925C11.4353 16.925 11.6194 16.8693 11.776 16.765C11.9326 16.6607 12.0546 16.5124 12.1267 16.339C12.1987 16.1655 12.2176 15.9746 12.1808 15.7905C12.1441 15.6063 12.0534 15.4372 11.9203 15.3044C11.7871 15.1717 11.6175 15.0812 11.4328 15.0446C11.2481 15.008 11.0567 15.0268 10.8827 15.0986C10.7087 15.1705 10.56 15.2922 10.4554 15.4483C10.3508 15.6044 10.2949 15.7879 10.2949 15.9757C10.2949 16.2275 10.3952 16.4689 10.5738 16.647C10.7523 16.825 10.9945 16.925 11.247 16.925Z" fill="#DFECF5"/>
<path d="M12.6668 13.5118C12.8551 13.5118 13.0392 13.4561 13.1957 13.3518C13.3523 13.2475 13.4743 13.0993 13.5464 12.9258C13.6185 12.7523 13.6373 12.5615 13.6006 12.3773C13.5639 12.1932 13.4732 12.024 13.34 11.8912C13.2069 11.7585 13.0372 11.6681 12.8525 11.6314C12.6678 11.5948 12.4764 11.6136 12.3024 11.6855C12.1284 11.7573 11.9797 11.879 11.8751 12.0351C11.7705 12.1912 11.7147 12.3747 11.7147 12.5625C11.7144 12.6872 11.7389 12.8108 11.7867 12.9261C11.8345 13.0413 11.9046 13.1461 11.993 13.2343C12.0815 13.3225 12.1865 13.3924 12.3022 13.44C12.4178 13.4876 12.5417 13.512 12.6668 13.5118Z" fill="#DFECF5"/>
<path d="M16.0597 12.17C16.248 12.1697 16.4319 12.1137 16.5882 12.0092C16.7446 11.9047 16.8663 11.7563 16.9382 11.5828C17.01 11.4093 17.0286 11.2185 16.9916 11.0345C16.9547 10.8504 16.8639 10.6814 16.7307 10.5488C16.5975 10.4163 16.4278 10.326 16.2432 10.2895C16.0585 10.253 15.8672 10.2719 15.6933 10.3438C15.5194 10.4157 15.3708 10.5374 15.2663 10.6935C15.1617 10.8495 15.1059 11.033 15.1059 11.2207C15.1059 11.3455 15.1306 11.4691 15.1786 11.5844C15.2265 11.6997 15.2968 11.8044 15.3854 11.8926C15.474 11.9807 15.5791 12.0506 15.6948 12.0982C15.8106 12.1459 15.9345 12.1702 16.0597 12.17Z" fill="#DFECF5"/>
<path d="M22.7918 10.585C23.051 10.5854 23.3045 10.509 23.5202 10.3657C23.736 10.2223 23.9042 10.0184 24.0036 9.77964C24.1031 9.54093 24.1293 9.27817 24.0789 9.02461C24.0285 8.77105 23.9038 8.53808 23.7206 8.35519C23.5374 8.17229 23.304 8.04769 23.0497 7.99714C22.7955 7.94659 22.5319 7.97236 22.2924 8.0712C22.0528 8.17005 21.8481 8.33751 21.704 8.55241C21.5599 8.76731 21.483 9.01999 21.483 9.27848C21.483 9.62471 21.6209 9.95678 21.8662 10.2018C22.1116 10.4467 22.4445 10.5846 22.7918 10.585Z" fill="#A3BDE0"/>
<path d="M25.7373 17.2755C25.9965 17.2755 26.2499 17.1989 26.4655 17.0552C26.681 16.9116 26.849 16.7074 26.9481 16.4686C27.0472 16.2298 27.0731 15.967 27.0224 15.7135C26.9717 15.46 26.8467 15.2272 26.6633 15.0445C26.4798 14.8618 26.2462 14.7375 25.9919 14.6873C25.7376 14.6371 25.474 14.6632 25.2346 14.7624C24.9952 14.8615 24.7907 15.0292 24.6469 15.2443C24.5031 15.4594 24.4265 15.7122 24.4269 15.9707C24.4269 16.1422 24.4608 16.312 24.5266 16.4704C24.5925 16.6288 24.6891 16.7728 24.8108 16.894C24.9325 17.0151 25.0769 17.1112 25.2359 17.1767C25.3949 17.2422 25.5653 17.2758 25.7373 17.2755Z" fill="#A3BDE0"/>
<path d="M22.7918 24.1522C23.0511 24.1525 23.3047 24.0761 23.5204 23.9327C23.7362 23.7893 23.9044 23.5852 24.0038 23.3464C24.1032 23.1076 24.1293 22.8447 24.0788 22.5911C24.0283 22.3375 23.9034 22.1046 23.72 21.9217C23.5367 21.7389 23.303 21.6144 23.0487 21.5641C22.7943 21.5137 22.5307 21.5397 22.2912 21.6388C22.0517 21.7379 21.847 21.9057 21.7032 22.1208C21.5593 22.3359 21.4827 22.5888 21.483 22.8473C21.483 23.1934 21.6209 23.5253 21.8664 23.77C22.1118 24.0147 22.4447 24.1522 22.7918 24.1522Z" fill="#A3BDE0"/>
<path d="M9.20653 24.117C9.46571 24.117 9.71906 24.0404 9.93456 23.8968C10.1501 23.7532 10.318 23.5492 10.4172 23.3104C10.5164 23.0717 10.5423 22.809 10.4918 22.5555C10.4412 22.3021 10.3164 22.0693 10.1331 21.8865C9.94987 21.7038 9.71638 21.5794 9.46218 21.529C9.20799 21.4785 8.94451 21.5044 8.70506 21.6033C8.46561 21.7022 8.26095 21.8697 8.11696 22.0845C7.97297 22.2994 7.89612 22.552 7.89612 22.8104C7.8959 22.9821 7.92964 23.1521 7.99542 23.3107C8.06119 23.4693 8.15771 23.6134 8.27944 23.7348C8.40116 23.8562 8.54571 23.9524 8.7048 24.018C8.86388 24.0836 9.03438 24.1172 9.20653 24.117Z" fill="#A3BDE0"/>
<path d="M16.0597 26.8609C16.319 26.8609 16.5724 26.7843 16.7879 26.6406C17.0034 26.497 17.1714 26.2928 17.2705 26.054C17.3697 25.8151 17.3955 25.5524 17.3448 25.2989C17.2941 25.0454 17.1692 24.8126 16.9857 24.6299C16.8023 24.4472 16.5686 24.3229 16.3143 24.2727C16.06 24.2225 15.7965 24.2486 15.5571 24.3477C15.3177 24.4469 15.1131 24.6146 14.9693 24.8297C14.8255 25.0448 14.749 25.2976 14.7493 25.556C14.7493 25.7275 14.7832 25.8974 14.8491 26.0558C14.915 26.2142 15.0115 26.3581 15.1332 26.4793C15.2549 26.6005 15.3994 26.6966 15.5584 26.7621C15.7173 26.8276 15.8877 26.8612 16.0597 26.8609Z" fill="#A3BDE0"/>
<path d="M6.42928 17.2755C6.68853 17.2755 6.94195 17.1989 7.15748 17.0552C7.37301 16.9116 7.54097 16.7074 7.6401 16.4686C7.73924 16.2298 7.76509 15.967 7.71439 15.7135C7.66369 15.46 7.53872 15.2272 7.35529 15.0445C7.17185 14.8618 6.9382 14.7375 6.6839 14.6873C6.42959 14.6371 6.16606 14.6632 5.92664 14.7624C5.68722 14.8615 5.48268 15.0292 5.33889 15.2443C5.19511 15.4594 5.11853 15.7122 5.11887 15.9707C5.11887 16.1422 5.15277 16.312 5.21865 16.4704C5.28452 16.6288 5.38107 16.7728 5.50278 16.894C5.62448 17.0151 5.76896 17.1112 5.92793 17.1767C6.08691 17.2422 6.25727 17.2758 6.42928 17.2755Z" fill="#A3BDE0"/>
<path d="M9.22673 10.585C9.48591 10.585 9.73927 10.5084 9.95476 10.3648C10.1703 10.2213 10.3382 10.0172 10.4374 9.77848C10.5366 9.53973 10.5625 9.27703 10.512 9.02358C10.4614 8.77013 10.3366 8.53732 10.1533 8.35459C9.97007 8.17187 9.73658 8.04743 9.48238 7.99701C9.22819 7.9466 8.96471 7.97247 8.72526 8.07137C8.48581 8.17026 8.28116 8.33772 8.13717 8.55259C7.99318 8.76745 7.91632 9.02006 7.91632 9.27848C7.9161 9.45012 7.94984 9.62012 8.01562 9.77874C8.0814 9.93736 8.17791 10.0815 8.29964 10.2029C8.42137 10.3242 8.56591 10.4205 8.725 10.486C8.88409 10.5516 9.05459 10.5853 9.22673 10.585Z" fill="#A3BDE0"/>
<path d="M16.0597 7.81425C16.319 7.81425 16.5724 7.73757 16.7879 7.59393C17.0034 7.45029 17.1714 7.24613 17.2705 7.00729C17.3697 6.76845 17.3955 6.50566 17.3448 6.25216C17.2941 5.99867 17.1692 5.76586 16.9857 5.5832C16.8023 5.40054 16.5686 5.27624 16.3143 5.22601C16.06 5.17579 15.7965 5.2019 15.5571 5.30105C15.3177 5.4002 15.1131 5.56793 14.9693 5.78301C14.8255 5.99809 14.749 6.25087 14.7493 6.50936C14.7493 6.68086 14.7832 6.85068 14.8491 7.0091C14.915 7.16753 15.0115 7.31145 15.1332 7.43265C15.2549 7.55384 15.3994 7.64992 15.5584 7.7154C15.7173 7.78088 15.8877 7.81447 16.0597 7.81425Z" fill="#A3BDE0"/>
<path d="M26.2318 7.41841C26.5555 7.41841 26.872 7.3227 27.1411 7.14338C27.4103 6.96406 27.6201 6.70918 27.744 6.41098C27.8679 6.11278 27.9003 5.78465 27.8371 5.46808C27.774 5.15152 27.6181 4.86073 27.3892 4.6325C27.1603 4.40427 26.8686 4.24884 26.5511 4.18587C26.2336 4.1229 25.9045 4.15522 25.6055 4.27874C25.3064 4.40225 25.0508 4.61143 24.8709 4.8798C24.6911 5.14817 24.5951 5.46369 24.5951 5.78646C24.5951 6.00077 24.6374 6.21299 24.7197 6.41098C24.8019 6.60898 24.9225 6.78889 25.0745 6.94043C25.3814 7.24648 25.7977 7.41841 26.2318 7.41841Z" fill="#2A2E6E"/>
<path d="M30.3633 17.611C30.687 17.611 31.0034 17.5153 31.2726 17.3359C31.5418 17.1566 31.7515 16.9017 31.8754 16.6035C31.9993 16.3053 32.0317 15.9772 31.9686 15.6607C31.9054 15.3441 31.7495 15.0533 31.5206 14.8251C31.2917 14.5968 31.0001 14.4414 30.6826 14.3784C30.3651 14.3155 30.036 14.3478 29.7369 14.4713C29.4378 14.5948 29.1822 14.804 29.0023 15.0724C28.8225 15.3407 28.7265 15.6563 28.7265 15.979C28.7265 16.4118 28.8989 16.8269 29.2059 17.133C29.5128 17.439 29.9292 17.611 30.3633 17.611Z" fill="#2A2E6E"/>
<path d="M26.1999 27.8874C26.5241 27.8877 26.8411 27.7922 27.1108 27.6128C27.3805 27.4334 27.5907 27.1783 27.7149 26.8797C27.8392 26.5811 27.8717 26.2525 27.8086 25.9355C27.7454 25.6184 27.5893 25.3272 27.3601 25.0986C27.1309 24.8701 26.8388 24.7144 26.5208 24.6515C26.2028 24.5885 25.8732 24.621 25.5738 24.7448C25.2743 24.8687 25.0184 25.0783 24.8385 25.3472C24.6586 25.6161 24.5628 25.9322 24.5631 26.2555C24.5631 26.6883 24.7356 27.1034 25.0425 27.4094C25.3495 27.7155 25.7658 27.8874 26.1999 27.8874Z" fill="#2A2E6E"/>
<path d="M5.76816 27.8304C6.09188 27.8304 6.40833 27.7347 6.6775 27.5553C6.94666 27.376 7.15645 27.1211 7.28033 26.8229C7.40421 26.5247 7.43662 26.1966 7.37347 25.88C7.31032 25.5635 7.15443 25.2727 6.92553 25.0445C6.69662 24.8162 6.40498 24.6608 6.08748 24.5978C5.76998 24.5349 5.44088 24.5672 5.1418 24.6907C4.84273 24.8142 4.5871 25.0234 4.40725 25.2918C4.2274 25.5601 4.13141 25.8757 4.13141 26.1984C4.13185 26.6311 4.30444 27.0459 4.6113 27.3519C4.91815 27.6578 5.33421 27.8299 5.76816 27.8304Z" fill="#2A2E6E"/>
<path d="M16.0597 32C16.3834 31.9997 16.6997 31.9037 16.9686 31.7241C17.2375 31.5446 17.4471 31.2896 17.5707 30.9914C17.6943 30.6932 17.7265 30.3651 17.6632 30.0486C17.5998 29.7322 17.4438 29.4415 17.2148 29.2135C16.9858 28.9854 16.6942 28.8302 16.3767 28.7673C16.0593 28.7045 15.7303 28.7369 15.4313 28.8605C15.1323 28.984 14.8768 29.1932 14.697 29.4615C14.5172 29.7299 14.4213 30.0453 14.4213 30.368C14.4213 30.5825 14.4637 30.7948 14.546 30.9929C14.6284 31.1911 14.7491 31.371 14.9013 31.5226C15.0534 31.6742 15.2341 31.7943 15.4329 31.8762C15.6316 31.9582 15.8446 32.0002 16.0597 32Z" fill="#2A2E6E"/>
<path d="M1.63676 17.611C1.96033 17.611 2.27665 17.5154 2.54574 17.3362C2.81483 17.157 3.02462 16.9023 3.1486 16.6043C3.27258 16.3063 3.30519 15.9784 3.24231 15.6619C3.17942 15.3454 3.02387 15.0546 2.7953 14.8263C2.56674 14.5979 2.27541 14.4422 1.95813 14.3788C1.64085 14.3155 1.31186 14.3473 1.01273 14.4703C0.713591 14.5933 0.457733 14.802 0.27748 15.0699C0.0972276 15.3379 0.000668568 15.653 3.45802e-06 15.9757C-0.000438937 16.1903 0.0415705 16.4028 0.123627 16.6012C0.205684 16.7996 0.326176 16.9799 0.478207 17.1318C0.630238 17.2837 0.810822 17.4042 1.00962 17.4864C1.20842 17.5687 1.42153 17.611 1.63676 17.611Z" fill="#2A2E6E"/>
<path d="M5.76816 7.41841C6.09188 7.41841 6.40833 7.3227 6.6775 7.14338C6.94666 6.96406 7.15645 6.70918 7.28033 6.41098C7.40421 6.11278 7.43662 5.78465 7.37347 5.46808C7.31032 5.15152 7.15443 4.86073 6.92553 4.6325C6.69662 4.40427 6.40498 4.24884 6.08748 4.18587C5.76998 4.1229 5.44088 4.15522 5.1418 4.27874C4.84273 4.40225 4.5871 4.61143 4.40725 4.8798C4.2274 5.14817 4.13141 5.46369 4.13141 5.78646C4.13141 6.00077 4.17374 6.21299 4.256 6.41098C4.33825 6.60898 4.45882 6.78889 4.6108 6.94043C4.91775 7.24648 5.33407 7.41841 5.76816 7.41841Z" fill="#2A2E6E"/>
<path d="M16.0311 3.2639C16.3549 3.2639 16.6713 3.16819 16.9405 2.98887C17.2096 2.80955 17.4194 2.55467 17.5433 2.25647C17.6672 1.95827 17.6996 1.63014 17.6364 1.31357C17.5733 0.997007 17.4174 0.706221 17.1885 0.477988C16.9596 0.249756 16.6679 0.0943274 16.3504 0.0313582C16.0329 -0.031611 15.7039 0.000707096 15.4048 0.124226C15.1057 0.247744 14.8501 0.456915 14.6702 0.725288C14.4904 0.993661 14.3944 1.30918 14.3944 1.63195C14.3944 2.06477 14.5668 2.47987 14.8738 2.78592C15.1807 3.09197 15.597 3.2639 16.0311 3.2639Z" fill="#2A2E6E"/>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,18 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3311_278)">
<g clip-path="url(#clip1_3311_278)">
<path d="M26.6667 0H5.33333C2.38781 0 0 2.38782 0 5.33333V26.6667C0 29.6122 2.38782 32 5.33333 32H26.6667C29.6122 32 32 29.6122 32 26.6667V5.33333C32 2.38781 29.6122 0 26.6667 0Z" fill="#7856FF"/>
<path d="M8.66708 19.3334C10.5083 19.3334 12.0009 17.841 12.0009 16.0001C12.0009 14.1591 10.5083 12.6667 8.66708 12.6667C6.82585 12.6667 5.33325 14.1591 5.33325 16.0001C5.33325 17.841 6.82585 19.3334 8.66708 19.3334Z" fill="white"/>
<path d="M18.3339 18.3334C19.6229 18.3334 20.6678 17.2887 20.6678 16.0001C20.6678 14.7114 19.6229 13.6667 18.3339 13.6667C17.0449 13.6667 16 14.7114 16 16.0001C16 17.2887 17.0449 18.3334 18.3339 18.3334Z" fill="white"/>
<path d="M25.6667 17C26.219 17 26.6667 16.5523 26.6667 16C26.6667 15.4477 26.219 15 25.6667 15C25.1144 15 24.6667 15.4477 24.6667 16C24.6667 16.5523 25.1144 17 25.6667 17Z" fill="white"/>
</g>
</g>
<defs>
<clipPath id="clip0_3311_278">
<rect width="32" height="32" fill="white"/>
</clipPath>
<clipPath id="clip1_3311_278">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
<path d="M9.28532 13.5957H13.357C12.3403 12.9596 11.9597 12.0682 11.4489 10.4154L9.92144 4.75367C9.22272 2.20949 8.64933 1 5.84978 1H8.49525e-05V2.52748H0.828869C2.5443 2.52748 2.73708 3.16352 3.24785 5.07166L4.58257 10.0348C5.28126 12.4537 6.36543 13.5957 9.29021 13.5957H9.28532ZM18.7056 13.5957H22.7725C25.6973 13.5957 26.714 12.4488 27.4176 10.0348L28.7523 5.07166C29.263 3.16345 29.5136 2.52748 31.1712 2.52748H32V1H26.2129C23.3507 1 22.7774 2.14681 22.1412 4.75367L20.6138 10.4154C20.103 12.1308 19.7223 12.9596 18.7056 13.5957ZM13.357 18.9346H18.7058L18.7056 13.5957H13.357V18.9346ZM8.49525e-05 31.5304H5.84978C8.64935 31.5304 9.22272 30.3209 9.92144 27.7767L11.4489 22.1148C11.9597 20.4621 12.3403 19.5706 13.357 18.9346H9.28532C6.36055 18.9346 5.27641 20.0814 4.57769 22.4955L3.24295 27.4587C2.73218 29.3668 2.54426 30.0029 0.823971 30.0029H0L8.49525e-05 31.5304ZM26.2028 31.5304H31.9899V30.0029H31.1612C29.5083 30.0029 29.253 29.3668 28.7422 27.4587L27.4075 22.4955C26.7088 20.0766 25.6921 18.9346 22.7625 18.9346H18.7058C19.7226 19.5706 20.0881 20.3995 20.5989 22.1148L22.1263 27.7767C22.7625 30.3835 23.3358 31.5304 26.198 31.5304H26.2028Z" fill="#7856FF"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -1,4 +0,0 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="35" height="35" fill="#4C6EF5"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.97784 27.5274H5L8.24545 6L17.3384 23.0274L26.4123 6.00316L26.4378 6L29.6768 27.5274H27.6958L25.374 12.1232L17.3352 27.1768L9.29966 12.1232L6.97784 27.5274Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 373 B

@ -0,0 +1,14 @@
<svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_404_30" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="32" width="48" height="48">
<path d="M0 32H47.7878V80H0V32Z" fill="#8566AB"/>
</mask>
<g mask="url(#mask0_404_30)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M47.7878 80.0002H0V32C26.4073 32.0145 47.7733 53.4765 47.7878 80.0002Z" fill="#8566AB"/>
</g>
<mask id="mask1_404_30" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="32" y="32" width="48" height="48">
<path d="M32.2122 32H80V80H32.2122V32Z" fill="#F36B21"/>
</mask>
<g mask="url(#mask1_404_30)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2122 80.0002H80V32C53.5926 32.0145 32.2266 53.4765 32.2122 80.0002Z" fill="#F36B21"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 806 B

@ -0,0 +1,11 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4659_136)">
<path d="M24.6329 0.0983276H7.26874C3.25432 0.0983276 0 3.35265 0 7.36706V24.7312C0 28.7456 3.25432 32 7.26874 32H24.6329C28.6473 32 31.9016 28.7456 31.9016 24.7312V7.36706C31.9016 3.35265 28.6473 0.0983276 24.6329 0.0983276Z" fill="#006472"/>
<path d="M8.41507 23.9371C12.7712 28.2975 19.8305 28.2975 24.1867 23.9371C26 22.1195 27.0542 19.8339 27.3579 17.4681H24.3047C24.0265 19.0537 23.28 20.5761 22.0529 21.8032C18.8775 24.9829 13.7242 24.9829 10.5489 21.8032C7.37347 18.6236 7.37347 13.4662 10.5489 10.2866C13.7242 7.10698 18.8775 7.10698 22.0529 10.2866C23.2674 11.5011 24.0137 13.0024 24.3005 14.5711H27.3536C27.0416 12.2264 25.9874 9.95767 24.1867 8.1528C19.8305 3.79241 12.7712 3.79241 8.41507 8.1528C4.05891 12.5132 4.05891 19.5766 8.41507 23.9371Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_4659_136">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1021 B

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- License: MIT. Made by vscode-icons: https://github.com/vscode-icons/vscode-icons -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_progress</title><path d="M29.107,9.963h0v14a1.079,1.079,0,0,1-.489.845l-.458.274L24.67,27.1l-2.357,1.372-.489.274V13.6L8.719,6.03l6.224-3.587.574-.327a1.081,1.081,0,0,1,.977,0L25.122,7.1,29.1,9.4v.563Z" style="fill:#5ce500"/><path d="M18.909,15.284l-2.687-1.553L9.935,10.1a1.1,1.1,0,0,0-.977,0L3.378,13.322l-.486.283,9.466,5.464V30l5.571-3.219.491-.274a1.081,1.081,0,0,0,.489-.845Z" style="fill:#5ce500"/><polygon points="2.893 24.536 9.441 28.318 9.441 20.749 2.893 24.536" style="fill:#5ce500"/></svg>

After

Width:  |  Height:  |  Size: 738 B

@ -1,19 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2785_2)">
<path d="M1.65227 2.21948C1.33584 2.57838 1.05933 2.97059 0.827637 3.38923C1.03448 3.0091 1.27943 2.65097 1.5587 2.32037C1.58794 2.28674 1.61572 2.25311 1.64496 2.22094L1.65227 2.21948Z" fill="#00E0B7"/>
<path d="M0.0424016 7.93666C0.0402083 7.96391 0.0402083 7.99129 0.0424016 8.01854C0.0630967 8.18779 0.144695 8.34372 0.271955 8.4572C0.474593 8.652 0.716306 8.80152 0.981084 8.89585C1.63262 9.12781 2.31122 9.27524 3.00028 9.33451C3.92315 9.42929 4.85064 9.47176 5.77831 9.46172C6.01517 9.46172 6.25204 9.43833 6.4889 9.43833C6.60733 9.43833 6.66143 9.39885 6.67605 9.30673C6.67367 9.26631 6.67367 9.22578 6.67605 9.18537C6.68336 8.76864 6.67605 8.35338 6.69067 7.93519C6.69067 8.31536 6.69067 8.69553 6.69067 9.0757C6.69067 9.38715 6.66435 9.36083 6.9831 9.36814C10.2466 9.3813 13.5115 9.36814 16.7793 9.38861C19.5734 9.41054 22.3705 9.38861 25.1661 9.38861C25.215 9.39169 25.2641 9.38874 25.3123 9.37984H25.3269H25.3386C25.3422 9.3777 25.3452 9.37468 25.3474 9.37106C25.3529 9.36649 25.357 9.36039 25.3591 9.35352C25.3653 9.34024 25.3688 9.3258 25.3693 9.31111C25.3717 9.2707 25.3717 9.23017 25.3693 9.18975C25.3605 8.73209 25.3693 8.27442 25.3532 7.81676C25.3532 7.5638 25.343 7.31084 25.3386 7.05788C25.3386 6.89265 25.3386 6.72889 25.3386 6.56366V6.14694C25.3386 6.0709 25.3386 6.00072 25.3386 5.9203V5.54159C25.3386 5.41438 25.3386 5.28717 25.3386 5.16142C25.3386 5.03567 25.3386 4.90846 25.3386 4.78271C25.5974 5.19213 25.9848 5.40853 26.4015 5.58546C27.1326 5.8969 27.9105 6.06067 28.6795 6.24783C29.5056 6.44815 30.3405 6.62215 31.1184 6.97892C31.4135 7.09813 31.6721 7.29275 31.8684 7.54333C31.9554 7.6546 32.0119 7.78665 32.0322 7.92642V8.01269C32.0322 14.0779 32.0322 20.1435 32.0322 26.2096C31.8418 27.7041 31.1507 29.09 30.0716 30.1413C28.9925 31.1926 27.589 31.8472 26.0901 31.9984C19.3965 31.9984 12.7024 31.9984 6.00786 31.9984C4.44649 31.8492 2.98785 31.1538 1.88885 30.0347C0.789838 28.9156 0.120953 27.4445 0 25.8806H0" fill="#5CD5C4"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M30.3859 2.21229C30.0817 2.28101 29.7747 2.33804 29.4691 2.39653C28.6023 2.54089 27.7453 2.73915 26.9031 2.99018C26.5169 3.10117 26.1511 3.27346 25.8196 3.50048C25.6557 3.60389 25.5213 3.74787 25.4293 3.91847C25.3374 4.08907 25.291 4.28052 25.2947 4.4743V4.78136C25.2947 4.90711 25.2947 5.03432 25.2947 5.16006C25.2947 5.28581 25.2947 5.41302 25.2947 5.54023V5.91894C25.2947 5.99497 25.2947 6.06516 25.2947 6.14558V6.5623C25.2947 6.72753 25.2947 6.89129 25.2947 7.05652C25.2947 7.30948 25.3035 7.56244 25.3094 7.8154C25.3196 8.27306 25.3094 8.73073 25.3255 9.18839C25.3278 9.22881 25.3278 9.26934 25.3255 9.30975C25.325 9.32444 25.3215 9.33888 25.3152 9.35216C25.3131 9.35903 25.3091 9.36513 25.3035 9.36971C25.3014 9.37332 25.2984 9.37634 25.2947 9.37848H25.283H25.2684C25.2202 9.38738 25.1711 9.39033 25.1222 9.38725C22.3266 9.38725 19.5296 9.40187 16.7355 9.38725C13.472 9.36093 10.2071 9.38725 6.93927 9.36678C6.62784 9.36678 6.64685 9.39164 6.64685 9.07434C6.64685 8.69417 6.64685 8.314 6.64685 7.93384C6.64685 6.89422 6.64685 5.85607 6.66147 4.81645V4.77989C6.67901 3.93036 6.467 3.57798 5.56049 3.17149C5.29099 3.05317 5.01406 2.95255 4.73147 2.87028L4.61011 2.83665C4.50338 2.80594 4.39518 2.77816 4.28698 2.75184C4.23288 2.73722 4.17732 2.72552 4.12322 2.71236C3.74307 2.62463 3.35707 2.55298 2.974 2.47695C2.74444 2.43016 2.51343 2.38775 2.28241 2.34389C2.1669 2.32196 2.05286 2.30002 1.93735 2.27517C1.82184 2.25031 1.71511 2.22984 1.60399 2.20498H1.59521C2.69938 0.957326 4.23215 0.170292 5.88947 0L26.1267 0C27.7727 0.180257 29.2918 0.96933 30.3859 2.21229V2.21229Z" fill="#37A596"/>
<path d="M31.9986 5.76552V7.9281C31.9783 7.78832 31.9218 7.65627 31.8348 7.545C31.6385 7.29443 31.3799 7.0998 31.0848 6.9806C30.3069 6.6209 29.4764 6.4469 28.6459 6.2495C27.8769 6.06234 27.1019 5.89858 26.368 5.58713C25.9512 5.41021 25.5638 5.1938 25.305 4.78439V4.47733C25.3005 4.28425 25.3457 4.09325 25.4364 3.92271C25.527 3.75216 25.66 3.60781 25.8226 3.50351C26.153 3.27575 26.5178 3.10247 26.9031 2.99029C27.7457 2.73921 28.6032 2.54094 29.4706 2.39664C29.7762 2.33815 30.0832 2.28113 30.3873 2.2124C31.2681 3.20869 31.8294 4.44651 31.9986 5.76552V5.76552Z" fill="#5CD5C4"/>
<path d="M6.70976 4.78878V4.82534C6.45242 5.20989 6.07666 5.41021 5.67311 5.5886C4.94205 5.89858 4.1642 6.06381 3.39513 6.25097C2.56903 6.45129 1.73416 6.62529 0.956307 6.98206C0.661111 7.10186 0.402487 7.29697 0.206238 7.54793C0.119304 7.65924 0.0628649 7.79127 0.0424805 7.93103V6.06381C0.114753 5.12884 0.380638 4.21911 0.823254 3.39239V3.38508C1.05495 2.96644 1.33145 2.57423 1.64789 2.21533C1.75901 2.24019 1.87013 2.26505 1.98125 2.28552C2.09238 2.30599 2.21081 2.33231 2.32631 2.35424C2.55733 2.39811 2.78834 2.44051 3.0179 2.4873C3.40097 2.56333 3.78697 2.63352 4.16713 2.72271C4.22122 2.73587 4.27679 2.74757 4.33088 2.76219C4.43908 2.78851 4.54728 2.81629 4.65401 2.847L4.77537 2.88063C5.05796 2.9629 5.33489 3.06352 5.60439 3.18184C6.51529 3.58686 6.72584 3.93925 6.70976 4.78878Z" fill="#5CD5C4"/>
<path d="M6.68046 9.19278C6.67807 9.2332 6.67807 9.27372 6.68046 9.31414C6.66584 9.40626 6.61174 9.44574 6.49331 9.44574C6.25644 9.44574 6.01958 9.46913 5.78271 9.46913C4.85505 9.47917 3.92755 9.4367 3.00468 9.34192C2.31563 9.28265 1.63703 9.13523 0.985493 8.90327C0.720715 8.80893 0.479002 8.65941 0.276364 8.46461C0.149105 8.35113 0.0675061 8.1952 0.0468109 8.02595C0.0446177 7.9987 0.0446177 7.97132 0.0468109 7.94407C0.0674391 7.80483 0.123866 7.67333 0.210569 7.56244C0.406817 7.31148 0.665441 7.11637 0.960637 6.99657C1.73849 6.63834 2.56897 6.46434 3.39946 6.26548C4.16853 6.07832 4.94492 5.91309 5.67744 5.60311C6.08099 5.43203 6.45675 5.2244 6.71409 4.83984C6.69362 5.87946 6.698 6.91761 6.69946 7.95723C6.68631 8.36079 6.68777 8.77313 6.68046 9.19278Z" fill="#D6FFF7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.9986 8.01414C31.9781 8.18347 31.8965 8.33948 31.769 8.45279C31.5664 8.64759 31.3247 8.79711 31.0599 8.89145C30.4084 9.12341 29.7298 9.27083 29.0407 9.33011C28.1178 9.42494 27.1903 9.46741 26.2627 9.45732C26.0258 9.45732 25.7889 9.43392 25.5521 9.43392C25.4322 9.43392 25.3781 9.39444 25.3635 9.30232C25.3659 9.2619 25.3659 9.22138 25.3635 9.18096C25.3547 8.7233 25.3635 8.26563 25.3474 7.80797C25.3474 7.55501 25.3372 7.30205 25.3328 7.04909C25.3328 6.88386 25.3328 6.7201 25.3328 6.55487V6.13815C25.3328 6.06211 25.3328 5.99193 25.3328 5.91151V5.5328C25.3328 5.40559 25.3328 5.27838 25.3328 5.15263C25.3328 5.02688 25.3328 4.89967 25.3328 4.77393C25.5916 5.18334 25.979 5.39974 26.3957 5.57667C27.1268 5.88811 27.9046 6.05188 28.6737 6.23904C29.4998 6.43936 30.3347 6.61336 31.1125 6.97013C31.4077 7.08934 31.6663 7.28396 31.8626 7.53454C31.9496 7.64581 32.006 7.77786 32.0264 7.91763V7.91763C32.0203 7.95063 32.011 7.98296 31.9986 8.01414V8.01414Z" fill="#D6FFF7"/>
<path d="M23.47 20.9298C22.7558 21.7535 21.8805 22.4223 20.8981 22.895C19.5113 23.5641 18.002 23.9418 16.4635 24.0048C16.3685 24.0048 16.2749 24.015 16.1813 24.0223L16.0146 24.034H15.9956C14.5355 24.0161 13.0963 23.6839 11.7759 23.0602C10.7419 22.5832 9.79226 21.9412 8.96429 21.1594L8.93797 21.1331C8.75064 20.984 8.62385 20.772 8.58121 20.5365C8.55204 20.3483 8.58314 20.1558 8.67007 19.9864C8.75701 19.8169 8.8953 19.6794 9.06517 19.5934C9.25213 19.4995 9.46398 19.4672 9.6704 19.5011C9.87683 19.535 10.0672 19.6333 10.2144 19.782C11.1648 20.8071 12.3686 21.5636 13.7045 21.9753C14.5724 22.2559 15.4872 22.3617 16.3963 22.2867C17.2391 22.2338 18.0732 22.0842 18.8819 21.8408C19.9208 21.5026 20.8703 20.9349 21.6599 20.1797L21.7491 20.0978C21.8913 19.9595 22.0406 19.8287 22.1965 19.706C22.2914 19.631 22.4002 19.5757 22.5167 19.5433C22.6332 19.5109 22.755 19.5021 22.8749 19.5173C22.9993 19.5349 23.1189 19.5771 23.2269 19.6414C23.3348 19.7056 23.4289 19.7907 23.5036 19.8917C23.6257 20.039 23.6897 20.2259 23.6835 20.4171C23.6773 20.6083 23.6014 20.7907 23.47 20.9298Z" fill="white"/>
<path d="M11.5274 16.3268C11.4442 16.3834 11.3459 16.4137 11.2452 16.4137C11.1445 16.4137 11.0462 16.3834 10.963 16.3268L10.6954 16.1806C10.5361 16.0972 10.3767 16.0139 10.2188 15.9291C9.61347 15.6059 8.99353 15.6045 8.31803 15.9291C7.90425 16.1294 7.56942 16.299 7.26384 16.4671C7.20974 16.4979 7.15418 16.5256 7.09862 16.5534C7.01429 16.5982 6.92067 16.6228 6.8252 16.6251C6.71905 16.6245 6.61613 16.5884 6.53277 16.5227C6.45293 16.4567 6.39586 16.3672 6.36963 16.267C6.34339 16.1668 6.34931 16.0608 6.38656 15.9642C6.49586 15.5631 6.68647 15.1888 6.94656 14.8646C7.52263 14.1335 8.26247 13.7343 9.09149 13.6948H9.10465C9.63481 13.6938 10.1531 13.8515 10.593 14.1475C11.0328 14.4435 11.374 14.8643 11.5727 15.3559C11.6233 15.478 11.6667 15.603 11.7028 15.7302C11.7472 15.8346 11.7539 15.9511 11.7219 16.0599C11.6899 16.1687 11.6212 16.263 11.5274 16.3268Z" fill="white"/>
<path d="M25.4102 16.3268C25.3298 16.3921 25.231 16.4304 25.1276 16.4365C25.0242 16.4425 24.9216 16.4159 24.8341 16.3605C24.5739 16.2142 24.3122 16.0797 24.0519 15.9423C23.7707 15.7924 23.4572 15.7137 23.1386 15.713C22.82 15.7122 22.5061 15.7894 22.2242 15.9379C21.866 16.1046 21.5093 16.2932 21.1627 16.476L20.9888 16.5681C20.8952 16.6223 20.7898 16.6529 20.6817 16.6573C20.5705 16.6572 20.4633 16.616 20.3805 16.5418C20.2982 16.4717 20.2411 16.3766 20.2179 16.271C20.1946 16.1654 20.2066 16.0551 20.2518 15.9569C20.6569 14.7447 21.4552 14.0093 22.6249 13.7636C22.7181 13.7467 22.8124 13.737 22.9071 13.7344H23.0065H23.0343C23.6284 13.7469 24.2012 13.9582 24.6611 14.3346C25.1209 14.711 25.4413 15.2307 25.571 15.8107C25.5976 15.903 25.5966 16.0011 25.568 16.0929C25.5394 16.1846 25.4846 16.266 25.4102 16.3268Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_2785_2">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
<path d="M31.6522 21.5588L30.1206 8.79081C29.7086 5.35321 26.7866 2.76001 23.3238 2.76001H8.69543C5.23263 2.76001 2.31063 5.35321 1.89863 8.79081L0.368628 21.5588C0.135828 23.5008 0.746229 25.454 2.04503 26.9168C3.34223 28.3808 5.20903 29.2192 7.16543 29.2192H24.8554C26.8102 29.2192 28.677 28.3808 29.9758 26.9168C31.273 25.4544 31.885 23.5012 31.6522 21.5588ZM27.4566 24.698C26.7614 25.4812 25.8022 25.912 24.7566 25.912H7.26463C6.21743 25.912 5.25783 25.4812 4.56463 24.698C3.86943 23.9148 3.55663 22.9116 3.68063 21.872L5.19343 9.24721C5.41063 7.43561 6.95143 6.06721 8.77743 6.06721H23.2422C25.0678 6.06721 26.609 7.43521 26.8262 9.24721L28.3406 21.872C28.4646 22.9116 28.1498 23.9148 27.4566 24.698Z" fill="#004956"/>
<path d="M24.799 17.6396C24.5582 17.2704 24.1882 17.0172 23.757 16.9264C23.325 16.8356 22.885 16.9184 22.5158 17.1588C18.1114 20.0312 13.825 20.0308 9.41222 17.1584C9.04302 16.918 8.60182 16.8352 8.17102 16.9268C7.73982 17.018 7.37022 17.2716 7.12982 17.6408C6.88942 18.01 6.80702 18.4508 6.89822 18.882C6.98942 19.3132 7.24302 19.6828 7.61222 19.9232C10.3698 21.7184 13.181 22.6284 15.9678 22.6284C18.755 22.6284 21.5642 21.718 24.3178 19.9224C24.687 19.6816 24.9402 19.3116 25.031 18.8804C25.1222 18.4496 25.0398 18.0088 24.799 17.6396Z" fill="#004956"/>
</svg>

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.04137 3.20996C9.02137 3.20996 9.98137 3.38996 10.8814 3.76996C12.6214 4.50996 14.0014 5.88996 14.7414 7.62996C15.1214 8.52996 15.3214 9.48996 15.3014 10.47C15.3014 11.45 15.1214 12.41 14.7414 13.31C14.0014 15.05 12.6214 16.43 10.8814 17.17C9.06137 17.93 7.04137 17.93 5.22137 17.17C3.48137 16.43 2.10137 15.05 1.36137 13.31C0.981371 12.41 0.78137 11.45 0.80137 10.47C0.80137 9.48996 0.981371 8.52996 1.36137 7.62996C2.10137 5.88996 3.48137 4.50996 5.22137 3.76996C6.12137 3.38996 7.08137 3.20996 8.04137 3.20996ZM8.04137 14.01C10.0014 14.01 11.6014 12.41 11.6014 10.45C11.6014 8.48996 10.0014 6.88996 8.04137 6.88996C6.08137 6.88996 4.48137 8.48996 4.48137 10.45C4.48137 11.89 5.34137 13.19 6.66137 13.73C7.10137 13.91 7.58137 14.01 8.04137 14.01Z" fill="#72AA18"/>
<path d="M31.2814 10.47C31.2814 11.45 31.1014 12.41 30.7214 13.31C29.9814 15.05 28.6014 16.43 26.8614 17.17C25.9614 17.55 25.0014 17.75 24.0214 17.73C22.7814 17.73 21.5614 17.43 20.4814 16.83V21.51H16.7614V10.47C16.7614 9.48995 16.9414 8.52995 17.3214 7.62995C18.0614 5.88995 19.4414 4.50995 21.1814 3.76995C23.0014 3.00995 25.0214 3.00995 26.8414 3.76995C28.5814 4.50995 29.9614 5.88995 30.7014 7.62995C31.0814 8.52995 31.2814 9.48995 31.2814 10.47ZM27.5614 10.47C27.5614 8.48995 25.9614 6.90995 23.9814 6.90995C22.0014 6.90995 20.4214 8.50995 20.4214 10.49C20.4214 12.47 22.0214 14.05 24.0014 14.05C25.4414 14.05 26.7414 13.19 27.3014 11.85C27.4614 11.41 27.5614 10.95 27.5614 10.47Z" fill="#72AA18"/>
<path d="M5.88136 21.2699C5.88136 21.2699 7.84137 25.0099 11.8214 25.9699C15.8214 26.9499 18.5014 25.9299 18.5014 25.9299L20.1814 27.6499C20.1814 27.6499 16.7814 29.9899 10.9014 28.2699C7.46136 27.3099 4.70136 24.7499 3.46136 21.4099L5.88136 21.2699Z" fill="#72AA18"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="32" height="32" fill="#403E6B"/>
<path d="M16.8299 13.8133C13.8219 13.0837 12.6816 12.7189 12.6816 11.0773C12.6816 9.43679 14.0949 8.79786 16.3285 8.79786C18.2891 8.79786 19.7931 9.4816 20.9792 10.3029L22.5291 7.2032C20.9792 6.1088 18.7445 5.33333 16.3285 5.33333C11.7248 5.33333 8.80639 7.52213 8.80639 11.3056C8.80639 14.4053 10.7669 16.0469 15.4165 17.0955C18.4715 17.8251 19.6565 18.4171 19.6565 20.0128C19.6565 21.6992 18.016 22.5205 15.6907 22.5205C13.4571 22.5205 11.5424 21.7909 10.1291 20.6507L8.53333 23.8421C10.3115 25.1189 12.9099 25.9392 15.6907 25.9392C20.5685 25.9392 23.6224 23.5232 23.6224 19.7845C23.5317 16.8213 21.4347 14.9067 16.8299 13.8133Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none"><path fill="#fff" d="M9.719 7.283h13v17h-13z"/><path fill="#197593" d="M2.022.045C1.139.237.395.899.122 1.736c-.133.417-.125-.472-.12 14.33.003 7.584.016 13.832.03 13.883.168.704.568 1.291 1.128 1.648.259.166.515.27.902.374.045.01 6.28.024 13.86.027 14.827.005 13.917.013 14.35-.126.35-.112.752-.368 1.024-.653.283-.294.518-.705.638-1.12l.061-.214L32 16.052c.006-8.532-.002-13.867-.018-13.926-.014-.05-.043-.17-.067-.267-.09-.35-.32-.76-.59-1.043-.381-.405-.698-.595-1.29-.766C29.9.01 28.651.008 16.067.002 2.737-.003 2.241-.003 2.022.045Zm15.135 7.988.266.029c.107.008.211.021.232.027.022.005.094.018.16.026.483.07 1.356.299 1.721.454.046.018.176.074.294.122.323.137.824.398 1.123.587.31.198.838.585.838.614 0 .01-.094.157-.209.323a30 30 0 0 0-.338.501c-.075.11-.14.206-.147.214-.008.008-.12.168-.248.36a79.99 79.99 0 0 1-1.051 1.537c-.011.01-.102-.038-.198-.107-.613-.451-1.347-.833-2-1.038a3.545 3.545 0 0 0-.411-.115 2.475 2.475 0 0 1-.134-.032 4.316 4.316 0 0 0-.907-.09c-.568.002-.968.15-1.227.45-.147.174-.197.34-.19.622.011.374.123.571.478.838.213.157.82.461 1.313.656l.44.174c.133.053.403.144.432.146a.07.07 0 0 1 .037.019c.011.013.038.021.056.021.048 0 .769.267 1.102.406.419.176.875.405 1.187.592l.347.21c.03.02.059.038.067.046.008.008.104.08.213.163.787.587 1.316 1.4 1.505 2.318.067.326.083.523.08 1.014 0 .467-.013.632-.077.987-.08.454-.315 1.086-.526 1.427a6.7 6.7 0 0 1-.33.494c-.516.614-.956.966-1.639 1.307-.32.163-.928.387-1.187.438l-.227.053a8.79 8.79 0 0 1-.28.056 4.415 4.415 0 0 0-.163.024c-.029.006-.125.019-.21.03a6.3 6.3 0 0 0-.24.032c-.134.023-1.35.026-1.564.005-.11-.014-.28-.03-.379-.037-.098-.011-.2-.022-.226-.027a13.7 13.7 0 0 1-.886-.16 8.216 8.216 0 0 1-1.622-.523 1.838 1.838 0 0 0-.184-.078c-.035 0-.678-.338-.942-.493a10.46 10.46 0 0 1-1.102-.78l-.203-.165.251-.341c.139-.187.262-.355.275-.368.03-.04.357-.483.419-.574.379-.536 1.179-1.6 1.203-1.6.019 0 .043.013.05.026.035.056.638.491.943.678.912.566 1.702.864 2.62.99.378.05 1.03.032 1.282-.038.427-.117.734-.341.876-.64.06-.13.069-.181.069-.43-.003-.336-.05-.464-.262-.67-.349-.343-.888-.597-2.406-1.133-2.593-.912-3.826-1.825-4.346-3.217a4.83 4.83 0 0 1-.192-.71 5.181 5.181 0 0 1-.048-.846c0-.504.037-.915.101-1.128.008-.027.02-.075.027-.112.005-.038.043-.168.083-.291.419-1.31 1.363-2.294 2.732-2.847a6.543 6.543 0 0 1 1.862-.426c.128-.008.237-.022.243-.024.013-.011 1.29.01 1.374.024Z"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none"><path fill="#4684C5" fill-rule="evenodd" d="M13.917 20.629v-1.164a1.248 1.248 0 0 1-.725-1.132c0-.683.562-1.246 1.246-1.246.683 0 1.245.563 1.245 1.246a1.248 1.248 0 0 1-.724 1.132v1.164a.524.524 0 0 1-.73.52.524.524 0 0 1-.312-.52Zm4.045-4.595v.052h-7.035v-.051h-1.29v.05c0 2.064.423 3.684 1.27 4.858a4.099 4.099 0 0 0 3.519 1.758 4.179 4.179 0 0 0 3.584-1.727c.84-1.154 1.26-2.778 1.26-4.871v-.069h-1.308ZM.738 9.393v13.216h1.537v-5.645h5.478v-1.365H2.275V10.76h5.83V9.396L.737 9.392Zm22.818 1.352h1.997c1.138 0 1.965.192 2.481.577.517.384.775 1.015.775 1.89a2.414 2.414 0 0 1-.761 1.94c-.505.43-1.302.645-2.39.645h-2.102v-5.052ZM22.02 9.396v13.216h1.536v-5.495h2.758l3.198 5.495h1.816l-3.587-5.94c1.77-.614 2.657-1.794 2.659-3.542 0-1.25-.39-2.181-1.164-2.802-.775-.622-1.973-.932-3.594-.932H22.02Zm-11.13 1.706c-.84 1.15-1.26 2.39-1.26 4.499v.068h1.297v-.05c0-1.707.3-2.66.905-3.557a2.992 2.992 0 0 1 2.645-1.366 2.934 2.934 0 0 1 2.618 1.342c.59.894.888 1.836.888 3.566v.052h1.29v-.052c0-2.047-.424-3.313-1.267-4.484a4.101 4.101 0 0 0-3.526-1.762 4.173 4.173 0 0 0-3.58 1.73" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,12 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4649_54)">
<path d="M32 0H0V32H32V0Z" fill="#212B46"/>
<path d="M12.25 22.25C17.4277 22.25 21.625 18.0527 21.625 12.875C21.625 7.69733 17.4277 3.5 12.25 3.5C7.07233 3.5 2.875 7.69733 2.875 12.875C2.875 18.0527 7.07233 22.25 12.25 22.25Z" fill="#3A75FF"/>
<path d="M24.375 28.875C26.7912 28.875 28.75 26.9162 28.75 24.5C28.75 22.0838 26.7912 20.125 24.375 20.125C21.9588 20.125 20 22.0838 20 24.5C20 26.9162 21.9588 28.875 24.375 28.875Z" fill="#FFC301"/>
</g>
<defs>
<clipPath id="clip0_4649_54">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

@ -3,4 +3,3 @@
importScripts(chrome.runtime.getURL('js/wappalyzer.js'))
importScripts(chrome.runtime.getURL('js/utils.js'))
importScripts(chrome.runtime.getURL('js/driver.js'))
importScripts(chrome.runtime.getURL('js/lib/network.js'))

@ -17,7 +17,7 @@ const expiry = 1000 * 60 * 60 * 48
const maxHostnames = 100
const hostnameIgnoreList =
/\b((local|dev(elop(ment)?)?|sandbox|stag(e|ing)?|preprod|production|preview|test(ing)?|[^a-z]demo(shop)?|cache)[.-]|dev\d|localhost|((wappalyzer|google|bing|baidu|microsoft|duckduckgo|facebook|adobe|twitter|reddit|yahoo|wikipedia|amazon|amazonaws|youtube|stackoverflow|github|stackexchange|w3schools|twitch)\.)|(live|office|herokuapp|shopifypreview)\.com|\.local|\.test|\.netlify\.app|web\.archive\.org|zoom\.us|^([0-9.]+|[\d.]+)$|^([a-f0-9:]+:+)+[a-f0-9]+$)/
/\b((local|dev(elop(ment)?)?|sandbox|stag(e|ing)?|preprod|production|preview|test(ing)?|[^a-z]demo(shop)?|cache)[.-]|dev\d|localhost|((wappalyzer|google|bing|baidu|microsoft|duckduckgo|facebook|adobe|twitter|reddit|yahoo|wikipedia|amazon|amazonaws|youtube|stackoverflow|github|stackexchange|w3schools|twitch)\.)|(live|office|herokuapp|shopifypreview)\.com|\.local|\.test|\.netlify\.app|ngrok|web\.archive\.org|zoom\.us|^([0-9.]+|[\d.]+)$|^([a-f0-9:]+:+)+[a-f0-9]+$)/
const xhrDebounce = []
@ -79,7 +79,6 @@ const Driver = {
{}
),
robots: await getOption('robots', {}),
ads: [],
}
const { version } = chrome.runtime.getManifest()
@ -711,14 +710,6 @@ const Driver = {
Driver.log({ hostname, technologies: resolved })
},
/**
* Callback for onAd listener
* @param {Object} ad
*/
onAd(ad) {
Driver.cache.ads.push(ad)
},
/**
* Update the extension icon
* @param {String} url
@ -1009,20 +1000,6 @@ const Driver = {
Driver.cache.hostnames[hostname].hits = 0
})
}
if (Driver.cache.ads.length > 25) {
try {
await Driver.post(
'https://ad.wappalyzer.com/log/wp/',
Driver.cache.ads
)
} catch (error) {
// eslint-disable-next-line no-console
console.error(error)
}
Driver.cache.ads = []
}
}
},
}

File diff suppressed because it is too large Load Diff

@ -1,864 +0,0 @@
'use strict'
;(function () {
const MIN_FF_MAJOR_VERSION = 51
let areListenersRegistered = false
const secBefore = 2000
const secAfter = 5000
const secBetweenDupAssets = 10e3
const minVidSize = 500e3
const maxVidSize = 25e6
const maxContentRange = 25e6
const videoExtensions = [
'af',
'3gp',
'asf',
'avchd',
'avi',
'cam',
'dsh',
'flv',
'm1v',
'm2v',
'fla',
'flr',
'sol',
'm4v',
'mkv',
'wrap',
'mng',
'mov',
'mpeg',
'mpg',
'mpe',
'mp4',
'mxf',
'nsv',
'ogg',
'rm',
'svi',
'smi',
'wmv',
'webm',
]
const extensionsReg = new RegExp('\\.' + videoExtensions.join('$|\\.') + '$')
const videoContentTypesPrefixes = [
'binary/octet-stream',
'video/',
'flv-application/',
'media',
]
const bannedContentTypes = ['video/mp2t', 'video/f4m', 'video/f4f']
const bannedFiletypes = ['ts']
const bannedFiletypesReg = new RegExp(
'\\.' + bannedFiletypes.join('$|\\.') + '$'
)
const whitelistReqTypes = ['object', 'xmlhttprequest', 'other']
const topVideoAssetDomains = [
'2mdn.net',
'adap.tv',
'adnxs.com',
'adsrvr.org',
'btrll.com',
'celtra.com',
'flashtalking.com',
'flite.com',
'innovid.com',
'jivox.com',
'mixpo.com',
'nytimes.com',
'playwire.com',
'selectmedia.asia',
'serving-sys.com',
'solvemedia.com',
'spotible.com',
'teads.tv',
'tribalfusion.com',
'tubemogul.com',
'videologygroup.com',
'washingtonpost.com',
]
const robotsTxtAllows = Driver.checkRobots
if (!String.prototype.endsWith) {
String.prototype.endsWith = function (searchString, position) {
const subjectString = this.toString()
if (
typeof position !== 'number' ||
!isFinite(position) ||
Math.floor(position) !== position ||
position > subjectString.length
) {
position = subjectString.length
}
position -= searchString.length
const lastIndex = subjectString.indexOf(searchString, position)
return lastIndex !== -1 && lastIndex === position
}
}
function getFrame(getFrameDetails, callback) {
chrome.webNavigation.getFrame(getFrameDetails, callback)
}
function ifTrackingEnabled(details, ifCallback, elseCallback) {
const fullIfCallback = function () {
allowedByRobotsTxt(details, ifCallback, elseCallback)
}
Utils.getOption('tracking', true).then(function (tracking) {
if (tracking) {
fullIfCallback()
} else {
elseCallback()
}
})
}
function allowedByRobotsTxt(details, ifCallback, elseCallback) {
if (details.url && !details.url.startsWith('chrome://')) {
Driver.checkRobots(details.url, details.url.startsWith('https:'))
.then(ifCallback)
.catch(elseCallback)
} else {
elseCallback()
}
}
function isPixelRequest(request) {
return (
(request.type === 'image' || request.responseStatus === 204) &&
request.size <= 1000
)
}
function isVpaidOrVastRequest(request) {
const lowerCaseUrl = request.url.toLowerCase()
return lowerCaseUrl.includes('vpaid') || lowerCaseUrl.includes('vast')
}
function hasValidRequestType(request) {
return whitelistReqTypes.includes(request.type)
}
function stripQueryParams(url) {
return url.split('?', 1)[0]
}
function parseHostnameFromUrl(url) {
try {
const { hostname } = new URL(url)
return hostname
} catch {
return ''
}
}
function hasDomain(url, domain) {
return parseHostnameFromUrl(url).endsWith(domain)
}
function findHeader(headers, key) {
let header
for (let i = 0; i < headers.length; i += 1) {
header = headers[i]
if (header.name.toLowerCase() === key) {
return header
}
}
return null
}
function validVideoType(vtype) {
const goodType = videoContentTypesPrefixes.some(function (prefix) {
return vtype.indexOf(prefix) === 0
})
return goodType
}
function assetMsgKey(assetReq) {
const url = stripQueryParams(assetReq.url)
const key = assetReq.frameId + '-' + url
return key
}
const PageNetworkTrafficCollector = function (tabId) {
this.tabId = tabId
this.displayAdFound = false
this.requests = {}
this.msgsBeingSent = {}
this.assetsSeen = {}
this.allRedirects = {}
}
var globalPageContainer = {
collectors: {},
dyingCollectors: {},
cleanupCollector(tabId) {
if (tabId in this.collectors) {
delete globalPageContainer.collectors[tabId]
}
},
onNewNavigation(details) {
const tabId = details.tabId
this.cleanupCollector(tabId)
ifTrackingEnabled(
details,
function () {
if (!areListenersRegistered) {
registerListeners()
}
this.collectors[tabId] = new PageNetworkTrafficCollector(tabId)
}.bind(this),
function () {
if (areListenersRegistered) {
unregisterListeners()
}
}
)
},
onNavigationCommitted(details) {},
onNavigationCompleted(details) {},
onTabClose(tabId, closeInfo) {
this.cleanupCollector(tabId)
delete this.collectors[tabId]
},
onDisplayAdFound(tabId) {
this.collectors[tabId].displayAdFound = true
},
getRandId() {
return String(Math.floor(Math.random() * 1e9))
},
getCollector(tabId) {
if (this.collectors.hasOwnProperty(tabId)) {
return this.collectors[tabId]
}
return null
},
forwardCall(details, collectorMemberFunction) {
const collector = this.getCollector(details.tabId)
if (collector !== null) {
collectorMemberFunction.apply(collector, [details])
}
},
}
PageNetworkTrafficCollector.prototype.sendLogMessageToTabConsole = function () {
const logMessage = Array.from(arguments).join(' ')
const message = { message: logMessage, event: 'console-log-message' }
chrome.tabs.sendMessage(this.tabId, message)
}
PageNetworkTrafficCollector.prototype.sendToTab = function (
assetReq,
reqs,
curPageUrl,
adTrackingEvent
) {
const msg = {}
msg.assets = []
msg.requests = []
msg.event_data = {}
msg.event = adTrackingEvent
if (adTrackingEvent === 'new-video-ad') {
msg.requests = reqs
msg.requests.sort(function (reqA, reqB) {
return reqA.requestTimestamp - reqB.requestTimestamp
})
if (assetReq) {
msg.assets = [assetReq]
}
} else if (adTrackingEvent === 'new-invalid-video-ad') {
msg.requests = reqs.map(function (request) {
return parseHostnameFromUrl(request.url)
})
msg.assets = [
{
url: parseHostnameFromUrl(assetReq.url),
contentType: assetReq.contentType,
size: assetReq.size,
},
]
}
msg.origUrl = curPageUrl
msg.displayAdFound = this.displayAdFound
chrome.tabs.sendMessage(this.tabId, msg)
}
PageNetworkTrafficCollector.prototype.getRedirKey = function (url, frameId) {
return url + ':' + frameId
}
PageNetworkTrafficCollector.prototype.seenBefore = function (request) {
const oldTime = this.assetsSeen[assetMsgKey(request)]
if (oldTime && request.requestTimestamp - oldTime < secBetweenDupAssets) {
return true
}
return false
}
PageNetworkTrafficCollector.prototype.recordSeenAsset = function (request) {
this.assetsSeen[assetMsgKey(request)] = request.requestTimestamp
}
PageNetworkTrafficCollector.prototype.onBeforeRequest = function (details) {
const req = {
url: details.url,
type: details.type,
httpMethod: details.method,
frameId: details.frameId,
parentFrameId: details.parentFrameId,
requestTimestamp: details.timeStamp,
}
this.requests[details.requestId] = req
}
PageNetworkTrafficCollector.prototype.onSendHeaders = function (details) {
let request, header
request = this.requests[details.requestId]
header = request && findHeader(details.requestHeaders, 'x-requested-with')
if (header && header.value.toLowerCase().includes('flash')) {
request.from_flash = true
}
}
PageNetworkTrafficCollector.prototype.onHeadersReceived = function (details) {
const getFrameDetails = {
tabId: details.tabId,
processId: null,
frameId: details.frameId,
}
const pageNetworkTrafficController = this
getFrame(getFrameDetails, function (frameDetails) {
if (frameDetails && frameDetails.url) {
pageNetworkTrafficController._onHeadersReceived(details, frameDetails)
}
})
}
PageNetworkTrafficCollector.prototype._onHeadersReceived = function (
details,
frameDetails
) {
let contentSize, contentRange
const request = this.requests[details.requestId]
if (request) {
const redirParent = this.allRedirects[
this.getRedirKey(details.url, details.frameId)
]
let header =
request && findHeader(details.responseHeaders, 'content-type')
const contentType = header && header.value.toLowerCase()
if (contentType) {
request.contentType = contentType
}
header = request && findHeader(details.responseHeaders, 'content-length')
contentSize = header && header.value
if (contentSize) {
request.size = request.size || 0
request.size += parseInt(contentSize)
}
header = request && findHeader(details.responseHeaders, 'content-range')
contentRange = header && header.value
if (contentRange) {
request.contentRange = parseInt(contentRange.split('/')[1])
}
let frameUrl = null
if (frameDetails && frameDetails.url) {
frameUrl = frameDetails.url
}
if (
!this.bannedRequest(request) &&
(this.isVideoReq(frameUrl, request) ||
(redirParent && redirParent.isVideo))
) {
request.isVideo = true
}
}
}
PageNetworkTrafficCollector.prototype.onBeforeRedirect = function (details) {
const request = this.requests[details.requestId]
if (request) {
if (request.redirects) {
request.redirects.push(details.redirectUrl)
} else {
request.redirects = [details.redirectUrl]
}
this.allRedirects[
this.getRedirKey(details.redirectUrl, details.frameId)
] = request
}
}
PageNetworkTrafficCollector.prototype.isYoutubeMastheadRequest = function (
url
) {
const re = /video_masthead/
return this.hasYoutubeDomain(url) && re.test(url)
}
PageNetworkTrafficCollector.prototype.isYoutubeVideoRequest = function (
srcUrl,
destUrl
) {
if (!this.hasYoutubeDomain(srcUrl)) {
return false
}
const re = /https?:\/\/r.*?\.googlevideo\.com\/videoplayback\?/
return re.test(destUrl)
}
PageNetworkTrafficCollector.prototype.processResponse = function (
requestDetails,
frameDetails
) {
let request
if (requestDetails) {
request = this.requests[requestDetails.requestId]
if (request) {
request.responseStatus = requestDetails.statusCode
request.responseTimestamp = requestDetails.timeStamp
let frameUrl = null
if (frameDetails && frameDetails.url) {
frameUrl = frameDetails.url
}
let requestUrl = null
if (request.url) {
requestUrl = request.url
}
if (this.isYoutubeAdReq(frameUrl, requestUrl)) {
const destVideoId = this.parseYoutubeVideoIdFromUrl(requestUrl)
const srcVideoId = this.parseYoutubeVideoIdFromUrl(frameUrl)
if (srcVideoId && destVideoId) {
request.isYoutubeAd = true
request.isVideo = true
request.rawSrcUrl = frameUrl
request.rawDestUrl = requestUrl
request.url =
'https://www.youtube.com/watch?v=' +
this.parseYoutubeVideoIdFromUrl(requestUrl)
}
} else if (
!this.bannedRequest(request) &&
(this.isVideo || this.isVideoReq(frameUrl, request))
) {
request.isVideo = true
}
if (request.isVideo) {
const msgKey = assetMsgKey(request)
this.msgsBeingSent[msgKey] = request
if (!this.seenBefore(request)) {
this.sendMsgWhenQuiet(msgKey)
}
this.recordSeenAsset(request)
}
}
}
}
PageNetworkTrafficCollector.prototype.onResponseStarted = function (
responseDetails
) {
if (responseDetails.frameId < 0) {
responseDetails.frameId = 99999
}
const getFrameDetails = {
tabId: responseDetails.tabId,
processId: null,
frameId: responseDetails.frameId,
}
const pageNetworkTrafficController = this
getFrame(getFrameDetails, function (frameDetails) {
if (frameDetails && frameDetails.url) {
pageNetworkTrafficController.processResponse(
responseDetails,
frameDetails
)
}
})
}
PageNetworkTrafficCollector.prototype.hasBannedFiletype = function (request) {
const url = stripQueryParams(request.url)
if (bannedFiletypesReg.exec(url)) {
return true
} else {
return false
}
}
PageNetworkTrafficCollector.prototype.checkContentHeaders = function (
request
) {
if (request.contentType && validVideoType(request.contentType)) {
return true
}
return false
}
PageNetworkTrafficCollector.prototype.checkUrlExtension = function (request) {
const url = stripQueryParams(request.url)
if (extensionsReg.exec(url)) {
return true
} else {
return false
}
}
PageNetworkTrafficCollector.prototype.isVideoReq = function (
srcUrl,
request
) {
if (this.isYoutubeVideoRequest(srcUrl, request.url)) {
return false
}
return this.checkUrlExtension(request) || this.checkContentHeaders(request)
}
PageNetworkTrafficCollector.prototype.hasYoutubeDomain = function (url) {
const hostname = parseHostnameFromUrl(url)
if (hostname === 'www.youtube.com') {
return true
}
return false
}
PageNetworkTrafficCollector.prototype.parseYoutubeVideoIdFromUrl = function (
url
) {
let re = /^https?:\/\/www\.youtube\.com\/get_video_info.*(?:\?|&)video_id=(.*?)(?:$|&)/
let match = re.exec(url)
if (match && match.length > 1) {
return match[1]
}
re = /^https?:\/\/www\.youtube\.com\/embed\/(.*?)(?:$|\?)/
match = re.exec(url)
if (match && match.length > 1) {
return match[1]
}
re = /^https?:\/\/www\.youtube\.com\/watch.*(\?|&)v=([^&]*)/
match = re.exec(url)
if (match && match.length > 1) {
return match[1]
}
return null
}
PageNetworkTrafficCollector.prototype.isYoutubeGetVideoInfoReq = function (
url
) {
const re = /^https?:\/\/www\.youtube\.com\/get_video_info\?/
return re.test(url)
}
PageNetworkTrafficCollector.prototype.isYoutubeAdReq = function (
srcUrl,
destUrl
) {
if (
!this.hasYoutubeDomain(srcUrl) ||
!this.isYoutubeGetVideoInfoReq(destUrl)
) {
return false
}
if (
this.parseYoutubeVideoIdFromUrl(srcUrl) ===
this.parseYoutubeVideoIdFromUrl(destUrl) &&
!this.isYoutubeMastheadRequest(destUrl)
) {
return false
}
return true
}
PageNetworkTrafficCollector.prototype.bannedRequest = function (request) {
return (
this.bannedVideoType(request) ||
this.hasBannedFiletype(request) ||
this.bannedVideoSize(request)
)
}
PageNetworkTrafficCollector.prototype.bannedVideoType = function (request) {
let badType = false
if (request.contentType) {
badType = bannedContentTypes.some(function (prefix) {
return request.contentType.includes(prefix)
})
}
return badType
}
PageNetworkTrafficCollector.prototype.bannedVideoSize = function (request) {
if (request.size !== null) {
if (
request.size < minVidSize ||
request.size > maxVidSize ||
request.contentRange > maxContentRange
) {
return true
}
}
return false
}
PageNetworkTrafficCollector.prototype.grabTagReqs = function (
tabRequests,
assetRequest
) {
let minTimestamp, maxTimestamp
minTimestamp = assetRequest.requestTimestamp - secBefore
maxTimestamp = assetRequest.requestTimestamp + secAfter
const filteredRequests = tabRequests.filter(function (request) {
return (
request.requestTimestamp > minTimestamp &&
request.requestTimestamp < maxTimestamp &&
request.frameId === assetRequest.frameId &&
request.url !== assetRequest.url &&
(hasValidRequestType(request) || isPixelRequest(request))
)
})
return filteredRequests
}
PageNetworkTrafficCollector.prototype.isValidVideoAd = function (
assetRequest,
tagRequests
) {
const hasVpaidOrVastRequest = tagRequests.some(function (tagRequest) {
return isVpaidOrVastRequest(tagRequest)
})
if (assetRequest.isYoutubeAd) {
return true
}
if (hasVpaidOrVastRequest) {
return true
}
const hasTopVideoAssetDomain = topVideoAssetDomains.some(function (
assetDomain
) {
return hasDomain(assetRequest.url, assetDomain)
})
return hasTopVideoAssetDomain
}
PageNetworkTrafficCollector.prototype.sendMsgWhenQuiet = function (msgKey) {
const _this = this
let origPageUrl
let msgAssetReq
msgAssetReq = this.msgsBeingSent[msgKey]
chrome.tabs.get(this.tabId, function (tab) {
origPageUrl = tab.url
})
setTimeout(function () {
const rawRequests = []
if (globalPageContainer.collectors[_this.tabId] === _this) {
for (const reqId in _this.requests) {
rawRequests.push(_this.requests[reqId])
}
const tagReqs = _this.grabTagReqs(rawRequests, msgAssetReq)
if (_this.isValidVideoAd(msgAssetReq, tagReqs)) {
_this.sendToTab(msgAssetReq, tagReqs, origPageUrl, 'new-video-ad')
} else {
_this.sendToTab(
msgAssetReq,
tagReqs,
origPageUrl,
'new-invalid-video-ad'
)
}
} else {
}
delete _this.msgsBeingSent[msgKey]
}, secAfter + secBefore)
}
PageNetworkTrafficCollector.prototype.existingMessage = function (
candidateRequest
) {
const frameMsg = this.msgsBeingSent[candidateRequest.frameId]
if (frameMsg) {
return frameMsg
} else {
return null
}
}
function onBeforeRequestListener(details) {
globalPageContainer.forwardCall(
details,
PageNetworkTrafficCollector.prototype.onBeforeRequest
)
}
function onSendHeadersListener(details) {
globalPageContainer.forwardCall(
details,
PageNetworkTrafficCollector.prototype.onSendHeaders
)
}
function onHeadersReceivedListener(details) {
globalPageContainer.forwardCall(
details,
PageNetworkTrafficCollector.prototype.onHeadersReceived
)
}
function onBeforeRedirectListener(details) {
globalPageContainer.forwardCall(
details,
PageNetworkTrafficCollector.prototype.onBeforeRedirect
)
}
function onResponseStartedListener(details) {
globalPageContainer.forwardCall(
details,
PageNetworkTrafficCollector.prototype.onResponseStarted
)
}
function onCommittedListener(details) {
if (details.frameId === 0) {
globalPageContainer.onNavigationCommitted(details)
}
}
function onCompletedListener(details) {
if (details.frameId === 0) {
globalPageContainer.onNavigationCompleted(details)
}
}
function onRemovedListener(tabId, closeInfo) {
globalPageContainer.onTabClose(tabId, closeInfo)
}
function onMessageListener(message, sender, sendResponse) {
if (message.event === 'new-ad' && message.data.event === 'ad') {
const tabId = sender.tab.id
if (tabId) {
globalPageContainer.onDisplayAdFound(tabId)
}
}
}
function registerListeners() {
chrome.webRequest.onBeforeRequest.addListener(
onBeforeRequestListener,
{ urls: ['http://*/*', 'https://*/*'] },
[]
)
chrome.webRequest.onSendHeaders.addListener(
onSendHeadersListener,
{ urls: ['http://*/*', 'https://*/*'] },
['requestHeaders']
)
chrome.webRequest.onHeadersReceived.addListener(
onHeadersReceivedListener,
{ urls: ['http://*/*', 'https://*/*'] },
['responseHeaders']
)
chrome.webRequest.onBeforeRedirect.addListener(
onBeforeRedirectListener,
{ urls: ['http://*/*', 'https://*/*'] },
[]
)
chrome.webRequest.onResponseStarted.addListener(
onResponseStartedListener,
{ urls: ['http://*/*', 'https://*/*'] },
['responseHeaders']
)
chrome.webNavigation.onCommitted.addListener(onCommittedListener)
chrome.webNavigation.onCompleted.addListener(onCompletedListener)
chrome.tabs.onRemoved.addListener(onRemovedListener)
chrome.runtime.onMessage.addListener(onMessageListener)
areListenersRegistered = true
}
function unregisterListeners() {
chrome.webRequest.onBeforeRequest.removeListener(onBeforeRequestListener)
chrome.webRequest.onSendHeaders.removeListener(onSendHeadersListener)
chrome.webRequest.onHeadersReceived.removeListener(
onHeadersReceivedListener
)
chrome.webRequest.onBeforeRedirect.removeListener(onBeforeRedirectListener)
chrome.webRequest.onResponseStarted.removeListener(
onResponseStartedListener
)
chrome.webNavigation.onCommitted.removeListener(onCommittedListener)
chrome.webNavigation.onCompleted.removeListener(onCompletedListener)
chrome.tabs.onRemoved.removeListener(onRemovedListener)
chrome.runtime.onMessage.removeListener(onMessageListener)
areListenersRegistered = false
}
chrome.webNavigation.onBeforeNavigate.addListener(
function (details) {
if (details.frameId === 0) {
globalPageContainer.onNewNavigation(details)
}
},
{
url: [{ urlMatches: 'http://*/*' }, { urlMatches: 'https://*/*' }],
}
)
chrome.runtime.onMessage.addListener((message, sender, callback) => {
if (message === 'is_tracking_enabled') {
ifTrackingEnabled(
sender.tab,
function () {
try {
callback({ tracking_enabled: true })
} catch (err) {}
},
function () {
try {
callback({ tracking_enabled: false })
} catch (err) {}
}
)
}
return true
})
})()

@ -585,8 +585,12 @@ const Popup = {
el.issue.classList.remove('issue--hidden')
el.plusDownload.classList.remove('plus-download--hidden')
while (el.detections.firstChild) {
el.detections.removeChild(detections.firstChild)
let firstChild
while ((firstChild = el.detections.firstChild)) {
if (firstChild instanceof Node) {
el.detections.removeChild(firstChild)
}
}
const pinnedCategory = await getOption('pinnedCategory')
@ -722,8 +726,12 @@ const Popup = {
el.crawl.classList.add('plus-crawl--hidden')
el.error.classList.add('plus-error--hidden')
while (el.panels.lastElementChild) {
el.panels.removeChild(el.panels.lastElementChild)
let lastChild
while ((lastChild = el.panels.lastElementChild)) {
if (lastChild instanceof Node) {
el.panels.removeChild(lastChild)
}
}
try {

@ -46,17 +46,6 @@
"js/content.js"
],
"run_at": "document_idle"
},
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": [
"js/lib/iframe.js"
],
"run_at": "document_start",
"all_frames": true
}
],
"web_accessible_resources": [

@ -46,17 +46,6 @@
"js/content.js"
],
"run_at": "document_idle"
},
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": [
"js/lib/iframe.js"
],
"run_at": "document_start",
"all_frames": true
}
],
"web_accessible_resources": [

@ -791,6 +791,22 @@
"scriptSrc": "\\.acquire\\.io/(?!cobrowse)",
"website": "https://acquire.io"
},
"ActBlue": {
"cats": [
111
],
"description": "ActBlue is an online fundraising platform that facilitates secure donations to Democratic candidates and progressive causes, streamlining the process of processing and distributing campaign contributions.",
"icon": "ActBlue.svg",
"dom": "a[href*='//secure.actblue.com/donate/']",
"js": {
"actblue.__configuration": ""
},
"pricing": [
"payg"
],
"saas": true,
"website": "https://secure.actblue.com"
},
"Act-On": {
"cats": [
32
@ -2542,6 +2558,24 @@
],
"website": "https://www.alumniq.com/platform/"
},
"AlvandCMS": {
"cats": [
1
],
"description": "AlvandCMS is a PHP-based content management system that is commonly used in Iran.",
"icon": "AlvandCMS.png",
"implies": [
"PHP",
"MySQL"
],
"meta": {
"generator": "AlvandCMS\\s([\\d\\.]+)\\;version:\\1"
},
"pricing": [
"poa"
],
"website": "https://alvandcms.ir"
},
"Amaya": {
"cats": [
20
@ -3455,6 +3489,22 @@
"oss": true,
"website": "https://apexcharts.com"
},
"ApexChat": {
"cats": [
52
],
"description": "ApexChat is a company that provides businesses with live chat software and services to facilitate real-time customer engagement, support, lead generation, and enhanced online interactions.",
"icon": "ApexChat.svg",
"js": {
"ApexChat": "",
"apexchat_dompopup_chatwindow_client": ""
},
"pricing": [
"poa"
],
"saas": true,
"website": "https://www.apexchat.com"
},
"ApexPages": {
"cats": [
51
@ -3489,10 +3539,7 @@
"icon": "Apisearch.png",
"oss": true,
"pricing": [
"freemium",
"low",
"mid",
"recurring"
"payg"
],
"saas": true,
"scriptSrc": "static\\.apisearch\\.cloud",
@ -4514,6 +4561,26 @@
],
"website": "https://auth0.github.io/auth0.js/index.html"
},
"authorize.net": {
"cats": [
41
],
"description": "Authorize.net is a secure online payment gateway service that enables businesses to accept payments through various channels, such as ecommerce websites, mobile devices, and retail stores, providing a trusted platform for processing credit card and electronic cheque payments.",
"icon": "authorize.net.svg",
"headers": {
"Content-Security-Policy": "\\.authorize\\.net\\s"
},
"js": {
"config.authorizenet_public_client_key": ""
},
"scriptSrc": "\\.authorize\\.net/",
"saas": true,
"pricing": [
"recurring",
"payg"
],
"website": "https://www.authorize.net"
},
"Auth0 Lock": {
"cats": [
69

@ -465,6 +465,36 @@
"scriptSrc": "cdn\\.trybeans\\.com",
"website": "https://www.trybeans.com/"
},
"Beehiiv": {
"cats": [
11
],
"description": "Beehiiv is a relatively young, hosted newsletter platform built for businesses and creators.",
"icon": "Beehiiv.svg",
"dom": "link[href*='media.beehiiv.com/']",
"pricing": [
"freemium",
"low",
"recurring"
],
"saas": true,
"website": "https://www.beehiiv.com"
},
"Beehiiv RSS feed": {
"cats": [
49
],
"description": "Beehiiv RSS feed is a feature of the Beehiiv. Beehiiv is a relatively young, hosted newsletter platform built for businesses and creators.",
"icon": "Beehiiv.svg",
"dom": "iframe[src*='embeds.beehiiv.com/']",
"pricing": [
"freemium",
"low",
"recurring"
],
"saas": true,
"website": "https://www.beehiiv.com"
},
"Beeketing": {
"cats": [
32
@ -528,20 +558,20 @@
"scriptSrc": "/shopify-apps//js/betterprice/betterprice\\.js",
"website": "https://apps.shopify.com/better-price"
},
"Better Uptime": {
"Better Stack": {
"cats": [
13
],
"description": "Better Uptime is the all-in-one infrastructure monitoring platform for your incident management, uptime monitoring, and status pages.",
"icon": "Better Uptime.svg",
"description": "Better Stack is the all-in-one infrastructure monitoring platform for your incident management, uptime monitoring, and status pages.",
"icon": "Better Stack.svg",
"pricing": [
"freemium",
"low",
"recurring"
],
"saas": true,
"scriptSrc": "//betteruptime\\.com/",
"website": "https://betterstack.com/better-uptime"
"scriptSrc": "//(?:uptime\\.)?(?:betteruptime|betterstack)\\.com/",
"website": "https://betterstack.com/uptime"
},
"BetterDocs": {
"cats": [

@ -634,7 +634,7 @@
"meta": {
"cargo_title": ""
},
"scriptSrc": "/cargo\\.",
"scriptSrc": "(?<!elo\\.io)/cargo\\.",
"website": "https://cargo.site"
},
"Carrd": {
@ -3902,6 +3902,22 @@
"scriptSrc": "code\\.createjs\\.com/",
"website": "https://code.createjs.com"
},
"Creatium": {
"cats": [
51
],
"description": "Creatium is a website builder developed in Russia that provides a user-friendly drag-and-drop interface and a variety of customisation options for creating websites without coding knowledge.",
"icon": "Creatium.svg",
"meta": {
"generator": "^Creatium$"
},
"saas": true,
"pricing": [
"low",
"recurring"
],
"website": "https://creatium.io"
},
"Creativ.eMail": {
"cats": [
87,

@ -412,10 +412,11 @@
"scriptSrc": "www\\.datadoghq-browser-agent\\.com",
"website": "https://www.datadoghq.com"
},
"Datadome": {
"DataDome": {
"cats": [
16
],
"description": "DataDome is a cybersecurity platform that specialises in bot protection and mitigation, offering advanced solutions to safeguard websites and mobile applications against malicious bot traffic, credential stuffing, scraping, and other automated threats.",
"cookies": {
"datadome": "",
"datadome-_zldp": "",
@ -426,9 +427,32 @@
"X-DataDome": "",
"X-DataDome-CID": ""
},
"icon": "datadome.png",
"icon": "DataDome.svg",
"scriptSrc": "^https://ct\\.datadome\\.co/[a-z]\\.js$",
"website": "https://datadome.co/"
"pricing": [
"high",
"recurring"
],
"website": "https://datadome.co"
},
"Datatrics": {
"cats": [
97
],
"description": "Datatrics is a data-driven marketing platform that provides businesses with advanced tools and analytics to optimise customer experiences, personalise marketing campaigns, and drive engagement through data-driven insights and automation.",
"icon": "Datatrics.svg",
"dom": "link[href*='.datatrics.com']",
"js": {
"datatricsEvents": "",
"DatatricsClick": ""
},
"saas": true,
"pricing": [
"freemium",
"mid",
"recurring"
],
"website": "https://datatrics.com"
},
"DatoCMS": {
"cats": [

@ -1300,6 +1300,19 @@
"scriptSrc": "fontify\\.nitroapps\\.co/",
"website": "https://apps.shopify.com/fontify-change-customize-font-for-your-store"
},
"Forethought Solve": {
"cats": [
5
],
"description": "Forethought Solve is a live-chat widget that uses generative AI to automate responses for common questions across all channels.",
"icon": "Forethought Solve.svg",
"pricing": [
"poa"
],
"saas": true,
"scriptSrc": "solve-widget\\.forethought\\.ai/",
"website": "https://forethought.ai/platform/solve/"
},
"FooPlugins FooGallery": {
"cats": [
87,

@ -2285,6 +2285,20 @@
},
"website": "https://www.greenvalley.nl/Public/Producten/Content_Management/CMS"
},
"GreatPages": {
"cats": [
51
],
"description": "GreatPages is a multi-purpose page builder software developed in Brazil.",
"icon": "GreatPages.svg",
"saas": true,
"scriptSrc": "\\.greatpages\\.com\\.br/",
"pricing": [
"low",
"recurring"
],
"website": "https://www.greatpages.com.br"
},
"Greenhouse": {
"cats": [
101

@ -31,6 +31,26 @@
"icon": "IBM.svg",
"website": "https://ibm.com/software/webservers/httpservers"
},
"ID5": {
"cats": [
36
],
"description": "ID5 is a company that offers an identity solution for digital advertising, providing a Universal ID that enables privacy-compliant user recognition and tracking across websites without relying on personal information or third-party cookies.",
"saas": true,
"icon": "ID5.svg",
"website": "https://id5.io/",
"scriptSrc": [
"^https://(?:cdn\\.)?id5-sync\\.com/"
],
"xhr": ".*id5-sync\\.com",
"cookies": {
"id5": ""
},
"js": {
"ID5._version": "^(.+)$\\;version:\\1",
"__id5_instances": ""
}
},
"IIS": {
"cats": [
22
@ -392,10 +412,13 @@
},
"Imperva": {
"cats": [
16
16,
31
],
"description": "Imperva is a cyber security software and services company for networking, data, and application security.",
"headers": {
"X-Iinfo": ""
"X-Iinfo": "",
"x-cdn": "^Imperva"
},
"icon": "Imperva.svg",
"scriptSrc": [
@ -1637,4 +1660,4 @@
"saas": true,
"website": "https://www.iyzico.com"
}
}
}

@ -579,13 +579,13 @@
"scriptSrc": "cdn-tp\\d+\\.mozu\\.com",
"website": "https://kibocommerce.com"
},
"Kibo Personalization": {
"Monetate": {
"cats": [
76,
74
],
"description": "Kibo Personalization is a omnichannel personalisation software powered by machine learning to deliver individualized customer experiences and powered by Monetate and Certona.",
"icon": "Kibo.png",
"description": "Monetate (formerly 'Kibo Personalization') is a omnichannel personalisation software powered by machine learning to deliver individualized customer experiences and powered by Monetate and Certona.",
"icon": "Monetate.png",
"js": {
"BaynoteAPI": "",
"BaynoteJSVersion": "",
@ -604,7 +604,7 @@
"\\.baynote\\.net",
"\\.certona\\.net"
],
"website": "https://kibocommerce.com/personalization-software"
"website": "https://monetate.com"
},
"Kiliba": {
"cats": [

@ -54,6 +54,22 @@
"website": "https://wiki.lkqd.com",
"xhr": "\\.lkqd\\.net"
},
"LlamaLink Cloud Server": {
"cats": [
22
],
"description": "LlamaLink Cloud Server is a custom dynamic web server based on Nginx Web server that load balance user traffic between hosting nodes and allows fast and cached expiriance to website users.",
"icon": "LlamaLink.png",
"implies": "Nginx",
"headers": {
"Server": "^LlamaLink\\sCloud$"
},
"pricing": [
"payg",
"recurring"
],
"website": "https://llamalink.net"
},
"LOU": {
"cats": [
58
@ -1717,12 +1733,10 @@
},
"Loox": {
"cats": [
90,
100
90
],
"description": "Loox is a reviews app for Shopify that helps you gather reviews and user-generated photos from your customers.",
"icon": "Loox.svg",
"implies": "Shopify",
"js": {
"loox_global_hash": ""
},

@ -398,6 +398,21 @@
"scriptSrc": "\\.magisto\\.com/",
"website": "https://www.magisto.com"
},
"Magixite": {
"cats": [
68
],
"description": "Magixite offers the Web Content Accessibility Guidelines (WCAG), a set of guidelines and requirements designed to help designers and developers improve the accessibility of web content, ensuring it can be effectively used by individuals with disabilities.",
"icon": "Magixite.png",
"saas": true,
"scriptSrc": "acc\\.magixite\\.com/",
"pricing": [
"freemium",
"low",
"recurring"
],
"website": "https://acc.magixite.com"
},
"MailChimp": {
"cats": [
32,
@ -683,9 +698,12 @@
13
],
"cpe": "cpe:2.3:a:mantisbt:mantisbt:*:*:*:*:*:*:*:*",
"html": "<img[^>]+ alt=\"Powered by Mantis Bugtracker",
"icon": "MantisBT.png",
"implies": "PHP",
"description": "MantisBT is an open-source, web-based issue tracking system written in PHP with a MySQL database backend, designed to facilitate bug tracking and project management for software development teams.",
"dom": "link[rel='stylesheet'][href*='/css/ace-mantis.css']",
"requires": "PHP",
"implies": "MySQL",
"oss": true,
"website": "https://www.mantisbt.org"
},
"ManyChat": {
@ -2231,17 +2249,6 @@
"scriptSrc": "cdn\\.moengage\\.\\w+",
"website": "https://www.moengage.com"
},
"Moat": {
"cats": [
10
],
"description": "Moat is a digital ad analytics tool.",
"icon": "Moat.svg",
"scriptSrc": [
"moatads\\.com"
],
"website": "https://moat.com/"
},
"MobX": {
"cats": [
59
@ -3378,4 +3385,4 @@
],
"website": "https://code.google.com/p/modwsgi"
}
}
}

@ -436,6 +436,7 @@
"cpe": "cpe:2.3:a:omeka:omeka:*:*:*:*:*:*:*:*:*",
"description": "Omeka is a free Content Management System (CMS) used by archives, historical societies, libraries, museums, and individual researchers for publishing digital collections.",
"icon": "Omeka.png",
"dom": "link[rel*='stylesheet'][href*='css/myomeka.css'], link[rel*='stylesheet'][href*='/omeka/plugins/'], footer > p > a[href*='//omeka.org']",
"js": {
"Omeka": ""
},
@ -1501,6 +1502,17 @@
"scriptSrc": "service\\.maxymiser\\.net",
"website": "https://www.oracle.com/uk/cx/marketing/personalization-testing"
},
"Oracle Moat Measurement": {
"cats": [
10
],
"description": "Oracle Moat delivers solutions that are critical to measuring advertising effectiveness, including verification and attention, reach, and frequency as well as sales lift measurement.",
"icon": "Oracle.svg",
"scriptSrc": [
"moatads\\.com"
],
"website": "https://www.oracle.com/cx/advertising/measurement/"
},
"Oracle Recommendations On Demand": {
"cats": [
10
@ -1606,6 +1618,24 @@
"saas": true,
"website": "https://www.orckestra.com"
},
"OrderCast": {
"cats": [
6
],
"description": "OrderCast is a B2B ecommerce platform focused on streamlining wholesale operations, offering SKU management, order handling, and customisable online store features for improved customer experience.",
"icon": "OrderCast.svg",
"implies": [
"Python",
"React"
],
"pricing": [
"poa",
"recurring"
],
"saas": true,
"url": "\\.(?:eu|us1)\\.ordercast\\.io/",
"website": "https://www.ordercast.io"
},
"Order Deadline": {
"cats": [
100
@ -1954,4 +1984,4 @@
},
"website": "https://owncloud.org"
}
}
}

@ -2739,10 +2739,10 @@
"MySQL"
],
"js": {
"freeProductTranslation": "\\;confidence:25",
"freeProductTranslation": "\\;confidence:40",
"prestashop": "",
"priceDisplayMethod": "\\;confidence:25",
"priceDisplayPrecision": "\\;confidence:25",
"priceDisplayMethod": "\\;confidence:40",
"priceDisplayPrecision": "\\;confidence:40",
"rcAnalyticsEvents.eventPrestashopCheckout": ""
},
"meta": {
@ -3045,6 +3045,33 @@
"saas": true,
"website": "https://www.sitefinity.com"
},
"Progress WS_FTP": {
"cats": [
19
],
"cpe":"cpe:2.3:a:progress:ws_ftp_server:*:*:*:*:*:*:*:*",
"description": "Progress WS_FTP is a file transfer client software developed by Progress Software Corporation, supporting FTP, FTPS, SFTP, and HTTPS protocols with features like drag-and-drop support, file synchronization, and encrypted data transmission.",
"dom": "form[name='formLogin'][action='login.aspx' i][id='formLogin']\\;confidence:40",
"scriptSrc": "/ThinClient/(?:WTM|WebResource)(?:\\.axd|/public)\\;confidence:60",
"requires": "Microsoft ASP.NET",
"icon": "Progress.svg",
"website": "https://www.progress.com/ws_ftp"
},
"Progress MOVEit": {
"cats": [
19
],
"description": "Progress MOVEit is a managed file transfer solution that enables secure and compliant transfer of sensitive files while providing automation, central management, and auditing capabilities.",
"headers": {
"X-Moveitisapi-Version": "^(.+)$\\;version:\\1"
},
"meta": {
"apple-itunes-app": "app-id=1500056420",
"google-play-app": "app-id=com\\.progress\\.moveit\\.transfer\\.dev\\.appid"
},
"icon": "Progress.svg",
"website": "https://www.progress.com/moveit"
},
"Project Wonderful": {
"cats": [
36

@ -2310,6 +2310,22 @@
],
"website": "https://www.royalmail.com"
},
"Rubedo": {
"cats": [
1
],
"description": "Rubedo is an open-source PHP CMS powered by the Zend Framework, NoSQL MongoDB, Elasticsearch, and AngularJS, offering advanced features for content management and development.",
"implies": [
"MongoDB",
"Elasticsearch",
"PHP"
],
"js": {
"rubedoConfig": ""
},
"oss": true,
"website": "https://github.com/WebTales/rubedo"
},
"Rubicon Project": {
"cats": [
36

@ -793,12 +793,21 @@
"cats": [
6
],
"description": "Salla is an ecommerce platform.",
"description": "Salla is an ecommerce platform specifically tailored to serve businesses and customers in Saudi Arabia.",
"headers": {
"x-powered-by": "^Salla$"
},
"icon": "Salla.svg",
"scriptSrc": "cdn\\.salla\\.sa/",
"js": {
"Salla.shop": "",
"SallaApplePay": ""
},
"pricing": [
"freemium",
"low",
"recurring"
],
"saas": true,
"website": "https://salla.sa"
},
"Salonist": {
@ -1531,6 +1540,20 @@
"saas": true,
"website": "https://selldone.com"
},
"SellersCommerce": {
"cats": [
6
],
"description": "SellersCommerce is a medium ecommerce software company that provides b2b ecommerce platform to retail companies.",
"icon": "SellersCommerce.png",
"pricing": [
"poa"
],
"saas": true,
"scriptSrc": "\\.sellerscommerce\\.com/",
"requires": "Microsoft ASP.NET",
"website": "https://www.sellerscommerce.com"
},
"Sellfy": {
"cats": [
6
@ -2752,6 +2775,25 @@
"scriptSrc": "cdn\\.shoppinggives\\.com/",
"website": "https://shoppinggives.com"
},
"Shoppub": {
"cats": [
6
],
"description": "Shoppub is an ecommerce platform that focuses on implementing advanced business rules.",
"icon": "Shoppub.svg",
"meta": {
"author": "^Shoppub$"
},
"js": {
"Shoppub.store": ""
},
"pricing": [
"mid",
"recurring"
],
"saas": true,
"website": "https://www.shoppub.com.br"
},
"Shoppy": {
"cats": [
6
@ -3826,6 +3868,23 @@
"saas": true,
"website": "https://www.skolengo.com"
},
"Skyflow": {
"cats": [
16
],
"description": "Skyflow is a company that provides a secure data privacy platform and API.",
"icon": "Skyflow.svg",
"js": {
"Skyflow.ElementType.CARD_NUMBER": "",
"Skyflow.ValidationRuleType": ""
},
"pricing": [
"high",
"recurring"
],
"saas": true,
"website": "https://www.skyflow.com"
},
"Sky-Shop": {
"cats": [
6
@ -4631,7 +4690,7 @@
"SolidJS"
],
"js": {
"_$HY": ""
"_$HY.init": ""
},
"oss": true,
"website": "https://start.solidjs.com"
@ -4929,7 +4988,7 @@
67
],
"description": "Spatie Laravel Cookie Consent is a banner that is displayed on websites to ask visitors for consent for the use of cookies.",
"icon": "Spatie.png",
"icon": "Spatie.svg",
"implies": "Laravel",
"js": {
"laravelCookieConsent": ""
@ -4959,7 +5018,7 @@
],
"description": "Spatie Support Bubble is a non-intrusive support form.",
"dom": "div.spatie-support-bubble",
"icon": "Spatie.png",
"icon": "Spatie.svg",
"implies": [
"Laravel",
"Tailwind CSS"
@ -6227,7 +6286,7 @@
1
],
"description": "Storyblok is a headless CMS with a visual editor for developers, marketers and content editors. Storyblok helps your team to manage content and digital experiences for every use-case from corporate websites, ecommerce, helpdesks, mobile apps, screen displays, and more.",
"dom": "img[src*='//a.storyblok.com/']",
"dom": "img[src*='//a.storyblok.com/'], img[srcset*='a.storyblok.com']",
"headers": {
"content-security-policy": "app\\.storyblok\\.com",
"x-frame-options": "app\\.storyblok\\.com"
@ -7210,4 +7269,4 @@
},
"website": "https://styled-components.com"
}
}
}

@ -2036,6 +2036,20 @@
"saas": true,
"website": "https://www.tiendanube.com"
},
"Tiiny Host": {
"cats": [
62
],
"description": "Tiiny Host is a web hosting service for static sites with support for custom domains, SSL, password protection, and built-in analytics.",
"icon": "Tiiny Host.png",
"pricing": [
"low",
"recurring",
"freemium"
],
"scriptSrc": "(?://|\\.)tiiny\\.(?:host|site)/",
"website": "https://tiiny.host"
},
"TikTok Pixel": {
"cats": [
10

@ -620,6 +620,16 @@
"requires": "WordPress",
"website": "https://music.flatfull.com/waveme/about/"
},
"WayForPay": {
"cats": [
41
],
"description": "WayForPay is a payment processing service provider based in Europe.",
"dom": "form[action*='secure.wayforpay.com']",
"icon": "WayForPay.svg",
"scriptSrc": "secure\\.wayforpay\\.com",
"website": "https://wayforpay.com"
},
"Wazimo": {
"cats": [
36
@ -2392,4 +2402,4 @@
"url": "^https?://[^/]+\\.wpcache\\.co",
"website": "https://wpcache.co"
}
}
}

@ -99,7 +99,7 @@ const Wappalyzer = {
const resolved = detections.reduce((resolved, { technology, lastUrl }) => {
if (
resolved.findIndex(
({ technology: { name } }) => name === technology.name
({ technology: { name } }) => name === technology?.name
) === -1
) {
let version = ''

@ -2075,19 +2075,19 @@ schema-utils@^2.6.5:
ajv-keywords "^3.5.2"
"semver@2 || 3 || 4 || 5", semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.0.0, semver@^6.1.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.2.1, semver@^7.3.2:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"