diff --git a/self-extractors/audience/LICENSE b/self-extractors/audience/LICENSE
index 5a947e9..31e7432 100644
--- a/self-extractors/audience/LICENSE
+++ b/self-extractors/audience/LICENSE
@@ -105,25 +105,26 @@
 
    4.  Indemnity
 
-      a.  You agree to indemnify and hold harmless Licensor and its officers,
-          directors, customers, employees and successors and assigns (each an
-          "Indemnified Party") against any and all claims, demands, causes of
-          action, losses, liabilities, damages, costs and expenses, incurred
-          by the Indemnified Party (including but not limited to costs of
-          defense, investigation and reasonable attorney's fees) arising out
-          of, resulting from or related to (i) any software, products,
-          documentation, content, materials or derivative works created or
-          developed by You using the Software which causes an infringement of
-          any patent, copyright, trademark, trade secret, or other property,
-          publicity or privacy rights of any third parties arising in any
-          jurisdiction anywhere in the world, (ii) the download,
-          distribution, installation, storage, execution, use or transfer of
-          such software, products, documentation, content, materials or
-          derivative works by any person or entity, and/or (iii) any breach
-          of this Agreement by You. If requested by an Indemnified Party, You
-          agree to defend such Indemnified Party in connection with any third
-          party claims, demands, or causes of action resulting from, arising
-          out of or in connection with any of the foregoing.
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
 
    5.  Limitation of Liability
 
diff --git a/self-extractors/broadcom/LICENSE b/self-extractors/broadcom/LICENSE
index c100655..259cf32 100644
--- a/self-extractors/broadcom/LICENSE
+++ b/self-extractors/broadcom/LICENSE
@@ -105,25 +105,26 @@
 
    4.  Indemnity
 
-      a.  You agree to indemnify and hold harmless Licensor and its officers,
-          directors, customers, employees and successors and assigns (each an
-          "Indemnified Party") against any and all claims, demands, causes of
-          action, losses, liabilities, damages, costs and expenses, incurred
-          by the Indemnified Party (including but not limited to costs of
-          defense, investigation and reasonable attorney's fees) arising out
-          of, resulting from or related to (i) any software, products,
-          documentation, content, materials or derivative works created or
-          developed by You using the Software which causes an infringement of
-          any patent, copyright, trademark, trade secret, or other property,
-          publicity or privacy rights of any third parties arising in any
-          jurisdiction anywhere in the world, (ii) the download,
-          distribution, installation, storage, execution, use or transfer of
-          such software, products, documentation, content, materials or
-          derivative works by any person or entity, and/or (iii) any breach
-          of this Agreement by You. If requested by an Indemnified Party, You
-          agree to defend such Indemnified Party in connection with any third
-          party claims, demands, or causes of action resulting from, arising
-          out of or in connection with any of the foregoing.
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
 
    5.  Limitation of Liability
 
diff --git a/self-extractors/samsung/LICENSE b/self-extractors/samsung/LICENSE
index f4f6db6..164b7ed 100644
--- a/self-extractors/samsung/LICENSE
+++ b/self-extractors/samsung/LICENSE
@@ -105,25 +105,26 @@
 
    4.  Indemnity
 
-      a.  You agree to indemnify and hold harmless Licensor and its officers,
-          directors, customers, employees and successors and assigns (each an
-          "Indemnified Party") against any and all claims, demands, causes of
-          action, losses, liabilities, damages, costs and expenses, incurred
-          by the Indemnified Party (including but not limited to costs of
-          defense, investigation and reasonable attorney's fees) arising out
-          of, resulting from or related to (i) any software, products,
-          documentation, content, materials or derivative works created or
-          developed by You using the Software which causes an infringement of
-          any patent, copyright, trademark, trade secret, or other property,
-          publicity or privacy rights of any third parties arising in any
-          jurisdiction anywhere in the world, (ii) the download,
-          distribution, installation, storage, execution, use or transfer of
-          such software, products, documentation, content, materials or
-          derivative works by any person or entity, and/or (iii) any breach
-          of this Agreement by You. If requested by an Indemnified Party, You
-          agree to defend such Indemnified Party in connection with any third
-          party claims, demands, or causes of action resulting from, arising
-          out of or in connection with any of the foregoing.
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
 
    5.  Limitation of Liability
 
