Merge "Enable clang-analyzer-optin.performance.* checks"
diff --git a/android/module.go b/android/module.go
index 68008c2..a20dc56 100644
--- a/android/module.go
+++ b/android/module.go
@@ -492,22 +492,39 @@
 	TransitivePackagingSpecs() []PackagingSpec
 }
 
+// BazelTargetModule is a lightweight wrapper interface around Module for
+// bp2build conversion purposes.
+//
+// In bp2build's bootstrap.Main execution, Soong runs an alternate pipeline of
+// mutators that creates BazelTargetModules from regular Module objects,
+// performing the mapping from Soong properties to Bazel rule attributes in the
+// process. This process may optionally create additional BazelTargetModules,
+// resulting in a 1:many mapping.
+//
+// bp2build.Codegen is then responsible for visiting all modules in the graph,
+// filtering for BazelTargetModules, and code-generating BUILD targets from
+// them.
 type BazelTargetModule interface {
 	Module
 
 	BazelTargetModuleProperties() *bazel.BazelTargetModuleProperties
 }
 
+// InitBazelTargetModule is a wrapper function that decorates BazelTargetModule
+// with property structs containing metadata for bp2build conversion.
 func InitBazelTargetModule(module BazelTargetModule) {
 	module.AddProperties(module.BazelTargetModuleProperties())
 	InitAndroidModule(module)
 }
 
+// BazelTargetModuleBase contains the property structs with metadata for
+// bp2build conversion.
 type BazelTargetModuleBase struct {
 	ModuleBase
 	Properties bazel.BazelTargetModuleProperties
 }
 
+// BazelTargetModuleProperties getter.
 func (btmb *BazelTargetModuleBase) BazelTargetModuleProperties() *bazel.BazelTargetModuleProperties {
 	return &btmb.Properties
 }
diff --git a/bp2build/Android.bp b/bp2build/Android.bp
index 8007574..2bbe4b5 100644
--- a/bp2build/Android.bp
+++ b/bp2build/Android.bp
@@ -11,6 +11,7 @@
     deps: [
         "soong-android",
         "soong-bazel",
+        "soong-genrule",
     ],
     testSrcs: [
         "build_conversion_test.go",
diff --git a/bp2build/androidbp_to_build_templates.go b/bp2build/androidbp_to_build_templates.go
index 9bac86b..5fed4fa 100644
--- a/bp2build/androidbp_to_build_templates.go
+++ b/bp2build/androidbp_to_build_templates.go
@@ -25,10 +25,10 @@
 	// for expanding more attributes.
 	soongModuleTarget = `soong_module(
     name = "%s",
-    module_name = "%s",
-    module_type = "%s",
-    module_variant = "%s",
-    module_deps = %s,
+    soong_module_name = "%s",
+    soong_module_type = "%s",
+    soong_module_variant = "%s",
+    soong_module_deps = %s,
 %s)`
 
 	bazelTarget = `%s(
@@ -38,7 +38,7 @@
 	// A simple provider to mark and differentiate Soong module rule shims from
 	// regular Bazel rules. Every Soong module rule shim returns a
 	// SoongModuleInfo provider, and can only depend on rules returning
-	// SoongModuleInfo in the `module_deps` attribute.
+	// SoongModuleInfo in the `soong_module_deps` attribute.
 	providersBzl = `SoongModuleInfo = provider(
     fields = {
         "name": "Name of module",
@@ -57,19 +57,19 @@
 def _generic_soong_module_impl(ctx):
     return [
         SoongModuleInfo(
-            name = ctx.attr.module_name,
-            type = ctx.attr.module_type,
-            variant = ctx.attr.module_variant,
+            name = ctx.attr.soong_module_name,
+            type = ctx.attr.soong_module_type,
+            variant = ctx.attr.soong_module_variant,
         ),
     ]
 
 generic_soong_module = rule(
     implementation = _generic_soong_module_impl,
     attrs = {
-        "module_name": attr.string(mandatory = True),
-        "module_type": attr.string(mandatory = True),
-        "module_variant": attr.string(),
-        "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+        "soong_module_name": attr.string(mandatory = True),
+        "soong_module_type": attr.string(mandatory = True),
+        "soong_module_variant": attr.string(),
+        "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
     },
 )
 
@@ -89,20 +89,20 @@
     else:
         return False
 
-# soong_module is a macro that supports arbitrary kwargs, and uses module_type to
+# soong_module is a macro that supports arbitrary kwargs, and uses soong_module_type to
 # expand to the right underlying shim.
-def soong_module(name, module_type, **kwargs):
-    soong_module_rule = soong_module_rule_map.get(module_type)
+def soong_module(name, soong_module_type, **kwargs):
+    soong_module_rule = soong_module_rule_map.get(soong_module_type)
 
     if soong_module_rule == None:
         # This module type does not have an existing rule to map to, so use the
         # generic_soong_module rule instead.
         generic_soong_module(
             name = name,
-            module_type = module_type,
-            module_name = kwargs.pop("module_name", ""),
-            module_variant = kwargs.pop("module_variant", ""),
-            module_deps = kwargs.pop("module_deps", []),
+            soong_module_type = soong_module_type,
+            soong_module_name = kwargs.pop("soong_module_name", ""),
+            soong_module_variant = kwargs.pop("soong_module_variant", ""),
+            soong_module_deps = kwargs.pop("soong_module_deps", []),
         )
     else:
         supported_kwargs = dict()
diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go
index 5fd3999..7fbd257 100644
--- a/bp2build/build_conversion_test.go
+++ b/bp2build/build_conversion_test.go
@@ -16,6 +16,7 @@
 
 import (
 	"android/soong/android"
+	"android/soong/genrule"
 	"testing"
 )
 
@@ -31,10 +32,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
 )`,
 		},
@@ -46,10 +47,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     ramdisk = True,
 )`,
@@ -62,10 +63,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     owner = "a_string_with\"quotes\"_and_\\backslashes\\\\",
 )`,
@@ -78,10 +79,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     required = [
         "bar",
@@ -96,10 +97,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     target_required = [
         "qux",
@@ -124,10 +125,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     dist = {
         "tag": ".foo",
@@ -162,10 +163,10 @@
 		`,
 			expectedBazelTarget: `soong_module(
     name = "foo",
-    module_name = "foo",
-    module_type = "custom",
-    module_variant = "",
-    module_deps = [
+    soong_module_name = "foo",
+    soong_module_type = "custom",
+    soong_module_variant = "",
+    soong_module_deps = [
     ],
     dists = [
         {
@@ -302,6 +303,54 @@
     ],
 )`,
 		},
+		{
+			moduleTypeUnderTest:        "genrule",
+			moduleTypeUnderTestFactory: genrule.GenRuleFactory,
+			bp: `genrule {
+    name: "foo",
+    out: ["foo.out"],
+    srcs: ["foo.in"],
+    tool_files: [":foo.tool"],
+    cmd: "$(location :foo.tool) arg $(in) $(out)",
+}`,
+			expectedBazelTarget: `genrule(
+    name = "foo",
+    cmd = "$(location :foo.tool) arg $(SRCS) $(OUTS)",
+    outs = [
+        "foo.out",
+    ],
+    srcs = [
+        "foo.in",
+    ],
+    tools = [
+        ":foo.tool",
+    ],
+)`,
+		},
+		{
+			moduleTypeUnderTest:        "genrule",
+			moduleTypeUnderTestFactory: genrule.GenRuleFactory,
+			bp: `genrule {
+    name: "foo",
+    out: ["foo.out"],
+    srcs: ["foo.in"],
+    tools: [":foo.tool"],
+    cmd: "$(location :foo.tool) --out-dir=$(genDir) $(in)",
+}`,
+			expectedBazelTarget: `genrule(
+    name = "foo",
+    cmd = "$(location :foo.tool) --out-dir=$(GENDIR) $(SRCS)",
+    outs = [
+        "foo.out",
+    ],
+    srcs = [
+        "foo.in",
+    ],
+    tools = [
+        ":foo.tool",
+    ],
+)`,
+		},
 	}
 
 	dir := "."
diff --git a/bp2build/bzl_conversion.go b/bp2build/bzl_conversion.go
index 04c4542..f2f6b01 100644
--- a/bp2build/bzl_conversion.go
+++ b/bp2build/bzl_conversion.go
@@ -109,9 +109,9 @@
 		factoryName := runtime.FuncForPC(reflect.ValueOf(factory).Pointer()).Name()
 		pkg := strings.Split(factoryName, ".")[0]
 		attrs := `{
-        "module_name": attr.string(mandatory = True),
-        "module_variant": attr.string(),
-        "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+        "soong_module_name": attr.string(mandatory = True),
+        "soong_module_variant": attr.string(),
+        "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
 `
 		attrs += getAttributes(factory)
 		attrs += "    },"
diff --git a/bp2build/bzl_conversion_test.go b/bp2build/bzl_conversion_test.go
index 01c7271..c1e660e 100644
--- a/bp2build/bzl_conversion_test.go
+++ b/bp2build/bzl_conversion_test.go
@@ -83,9 +83,9 @@
 custom = rule(
     implementation = _custom_impl,
     attrs = {
-        "module_name": attr.string(mandatory = True),
-        "module_variant": attr.string(),
-        "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+        "soong_module_name": attr.string(mandatory = True),
+        "soong_module_variant": attr.string(),
+        "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
         "bool_prop": attr.bool(),
         "bool_ptr_prop": attr.bool(),
         "int64_ptr_prop": attr.int(),
@@ -107,9 +107,9 @@
 custom_defaults = rule(
     implementation = _custom_defaults_impl,
     attrs = {
-        "module_name": attr.string(mandatory = True),
-        "module_variant": attr.string(),
-        "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+        "soong_module_name": attr.string(mandatory = True),
+        "soong_module_variant": attr.string(),
+        "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
         "bool_prop": attr.bool(),
         "bool_ptr_prop": attr.bool(),
         "int64_ptr_prop": attr.int(),
@@ -131,9 +131,9 @@
 custom_test_ = rule(
     implementation = _custom_test__impl,
     attrs = {
-        "module_name": attr.string(mandatory = True),
-        "module_variant": attr.string(),
-        "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+        "soong_module_name": attr.string(mandatory = True),
+        "soong_module_variant": attr.string(),
+        "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
         "bool_prop": attr.bool(),
         "bool_ptr_prop": attr.bool(),
         "int64_ptr_prop": attr.int(),
diff --git a/genrule/genrule.go b/genrule/genrule.go
index 8df32f2..1f47dec 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -46,6 +46,8 @@
 	ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) {
 		ctx.BottomUp("genrule_tool_deps", toolDepsMutator).Parallel()
 	})
+
+	android.RegisterBp2BuildMutator("genrule", bp2buildMutator)
 }
 
 var (
@@ -772,6 +774,70 @@
 	Out []string `android:"arch_variant"`
 }
 
+type bazelGenruleAttributes struct {
+	Name  *string
+	Srcs  []string
+	Outs  []string
+	Tools []string
+	Cmd   string
+}
+
+type bazelGenrule struct {
+	android.BazelTargetModuleBase
+	bazelGenruleAttributes
+}
+
+func BazelGenruleFactory() android.Module {
+	module := &bazelGenrule{}
+	module.AddProperties(&module.bazelGenruleAttributes)
+	android.InitBazelTargetModule(module)
+	return module
+}
+
+func bp2buildMutator(ctx android.TopDownMutatorContext) {
+	if m, ok := ctx.Module().(*Module); ok {
+		name := "__bp2build__" + m.Name()
+		// Replace in and out variables with $< and $@
+		var cmd string
+		if m.properties.Cmd != nil {
+			cmd = strings.Replace(*m.properties.Cmd, "$(in)", "$(SRCS)", -1)
+			cmd = strings.Replace(cmd, "$(out)", "$(OUTS)", -1)
+			cmd = strings.Replace(cmd, "$(genDir)", "$(GENDIR)", -1)
+		}
+
+		// The Out prop is not in an immediately accessible field
+		// in the Module struct, so use GetProperties and cast it
+		// to the known struct prop.
+		var outs []string
+		for _, propIntf := range m.GetProperties() {
+			if props, ok := propIntf.(*genRuleProperties); ok {
+				outs = props.Out
+				break
+			}
+		}
+
+		// Bazel only has the "tools" attribute.
+		tools := append(m.properties.Tools, m.properties.Tool_files...)
+
+		// Create the BazelTargetModule.
+		ctx.CreateModule(BazelGenruleFactory, &bazelGenruleAttributes{
+			Name:  proptools.StringPtr(name),
+			Srcs:  m.properties.Srcs,
+			Outs:  outs,
+			Cmd:   cmd,
+			Tools: tools,
+		}, &bazel.BazelTargetModuleProperties{
+			Rule_class: "genrule",
+		})
+	}
+}
+
+func (m *bazelGenrule) Name() string {
+	return m.BaseModuleName()
+}
+
+func (m *bazelGenrule) GenerateAndroidBuildActions(ctx android.ModuleContext) {}
+
 var Bool = proptools.Bool
 var String = proptools.String
 
diff --git a/licenses/Android.bp b/licenses/Android.bp
index 8032dc5..e87bdcf 100644
--- a/licenses/Android.bp
+++ b/licenses/Android.bp
@@ -14,1074 +14,1216 @@
 // limitations under the License.
 
 package {
-	default_visibility: ["//visibility:public"],
-	default_applicable_licenses: ["Android-Apache-2.0"],
+    default_visibility: ["//visibility:public"],
+    default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 license {
-	name: "Android-Apache-2.0",
-	license_kinds: ["SPDX-license-identifier-Apache-2.0"],
-	copyright_notice: "Copyright (C) The Android Open Source Project",
-	license_text: ["LICENSE"],
+    name: "Android-Apache-2.0",
+    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
+    copyright_notice: "Copyright (C) The Android Open Source Project",
+    license_text: ["LICENSE"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AFL-1.1",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/AFL-1.1.html",
+    name: "SPDX-license-identifier-0BSD",
+    conditions: ["unencumbered"],
+    url: "https://spdx.org/licenses/0BSD",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AFL-1.2",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/AFL-1.2.html",
+    name: "SPDX-license-identifier-AFL-1.1",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/AFL-1.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AFL-2.0",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/AFL-2.0.html",
+    name: "SPDX-license-identifier-AFL-1.2",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/AFL-1.2.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AFL-2.1",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/AFL-2.1.html",
+    name: "SPDX-license-identifier-AFL-2.0",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/AFL-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AFL-3.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/AFL-3.0.html",
+    name: "SPDX-license-identifier-AFL-2.1",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/AFL-2.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL.html",
+    name: "SPDX-license-identifier-AFL-3.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/AFL-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-1.0.html",
+    name: "SPDX-license-identifier-AGPL",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-1.0-only",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-1.0-only.html",
+    name: "SPDX-license-identifier-AGPL-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-1.0-or-later",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-1.0-or-later.html",
+    name: "SPDX-license-identifier-AGPL-1.0-only",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-1.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-3.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-3.0.html",
+    name: "SPDX-license-identifier-AGPL-1.0-or-later",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-1.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-3.0-only",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-3.0-only.html",
+    name: "SPDX-license-identifier-AGPL-3.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-AGPL-3.0-or-later",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/AGPL-3.0-or-later.html",
+    name: "SPDX-license-identifier-AGPL-3.0-only",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-3.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Apache",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-AGPL-3.0-or-later",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/AGPL-3.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Apache-1.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Apache-1.0.html",
+    name: "SPDX-license-identifier-Apache",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Apache-1.1",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Apache-1.1.html",
+    name: "SPDX-license-identifier-Apache-1.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Apache-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Apache-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Apache-2.0.html",
+    name: "SPDX-license-identifier-Apache-1.1",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Apache-1.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Artistic",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-Apache-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Apache-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Artistic-1.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Artistic-1.0.html",
+    name: "SPDX-license-identifier-Artistic",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Artistic-1.0-Perl",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Artistic-1.0-Perl.html",
+    name: "SPDX-license-identifier-Artistic-1.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Artistic-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Artistic-1.0-cl8",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Artistic-1.0-cl8.html",
+    name: "SPDX-license-identifier-Artistic-1.0-Perl",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Artistic-1.0-Perl.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Artistic-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Artistic-2.0.html",
+    name: "SPDX-license-identifier-Artistic-1.0-cl8",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Artistic-1.0-cl8.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-Artistic-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Artistic-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-1-Clause",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-1-Clause.html",
+    name: "SPDX-license-identifier-BSD",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-2-Clause",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-2-Clause.html",
+    name: "SPDX-license-identifier-BSD-1-Clause",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-1-Clause.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-2-Clause-FreeBSD",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
+    name: "SPDX-license-identifier-BSD-2-Clause",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-2-Clause.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-2-Clause-NetBSD",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
+    name: "SPDX-license-identifier-BSD-2-Clause-FreeBSD",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-2-Clause-Patent",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
+    name: "SPDX-license-identifier-BSD-2-Clause-NetBSD",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause.html",
+    name: "SPDX-license-identifier-BSD-2-Clause-Patent",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-Attribution",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
+    name: "SPDX-license-identifier-BSD-3-Clause",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-Clear",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-Attribution",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-LBNL",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-Clear",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-LBNL",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License-2014",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-Warranty",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License-2014",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-3-Clause-Open-MPI",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-Warranty",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-4-Clause",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-4-Clause.html",
+    name: "SPDX-license-identifier-BSD-3-Clause-Open-MPI",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-4-Clause-UC",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-4-Clause-UC.html",
+    name: "SPDX-license-identifier-BSD-4-Clause",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-4-Clause.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-Protection",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-Protection.html",
+    name: "SPDX-license-identifier-BSD-4-Clause-UC",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-4-Clause-UC.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSD-Source-Code",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSD-Source-Code.html",
+    name: "SPDX-license-identifier-BSD-Protection",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-Protection.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-BSL-1.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/BSL-1.0.html",
+    name: "SPDX-license-identifier-BSD-Source-Code",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSD-Source-Code.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Beerware",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/Beerware.html",
+    name: "SPDX-license-identifier-BSL-1.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/BSL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-Beerware",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/Beerware.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-1.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/CC-BY-1.0.html",
+    name: "SPDX-license-identifier-CC-BY",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/CC-BY-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-1.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/CC-BY-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-2.5",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/CC-BY-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/CC-BY-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-3.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/CC-BY-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-2.5",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/CC-BY-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-4.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/CC-BY-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-3.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/CC-BY-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC",
-	conditions: ["by_exception_only", "not_allowed"],
+    name: "SPDX-license-identifier-CC-BY-4.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/CC-BY-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-2.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-2.5",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-NC-2.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-3.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-2.5",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-4.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-3.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-ND-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-4.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-ND-2.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-ND-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-ND-2.5",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-NC-ND-2.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-ND-3.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-ND-2.5",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-ND-4.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-ND-3.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-SA-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-ND-4.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-SA-2.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-SA-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-SA-2.5",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-NC-SA-2.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-SA-3.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-SA-2.5",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-NC-SA-4.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-NC-SA-3.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-CC-BY-NC-SA-4.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND-1.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-ND-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-ND",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND-2.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-ND-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-ND-1.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-ND-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND-2.5",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-ND-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-ND-2.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-ND-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND-3.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-ND-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-ND-2.5",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-ND-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-ND-4.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-ND-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-ND-3.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-ND-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-CC-BY-ND-4.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-ND-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-1.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-SA-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-SA",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-2.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-SA-2.0.html",
+    name: "SPDX-license-identifier-CC-BY-SA-1.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-SA-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-2.5",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-SA-2.5.html",
+    name: "SPDX-license-identifier-CC-BY-SA-2.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-SA-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-3.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-SA-3.0.html",
+    name: "SPDX-license-identifier-CC-BY-SA-2.5",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-SA-2.5.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-4.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/CC-BY-SA-4.0.html",
+    name: "SPDX-license-identifier-CC-BY-SA-3.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-SA-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC-BY-SA-ND",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-CC-BY-SA-4.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/CC-BY-SA-4.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CC0-1.0",
-	conditions: ["unencumbered"],
-	url: "https://spdx.org/licenses/CC0-1.0.html",
+    name: "SPDX-license-identifier-CC-BY-SA-ND",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CPAL-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/CPAL-1.0.html",
+    name: "SPDX-license-identifier-CC0-1.0",
+    conditions: ["unencumbered"],
+    url: "https://spdx.org/licenses/CC0-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-CPL-1.0",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/CPL-1.0.html",
+    name: "SPDX-license-identifier-CPAL-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/CPAL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EPL",
-	conditions: ["reciprocal"],
+    name: "SPDX-license-identifier-CPL-1.0",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/CPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EPL-1.0",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/EPL-1.0.html",
+    name: "SPDX-license-identifier-EPL",
+    conditions: ["reciprocal"],
+}
+
+license_kind {
+    name: "SPDX-license-identifier-EPL-1.0",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/EPL-1.0.html",
+}
+
+license_kind {
+    name: "SPDX-license-identifier-EPL-2.0",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/EPL-2.0.html",
+}
+
+license_kind {
+    name: "SPDX-license-identifier-EUPL",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EPL-2.0",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/EPL-2.0.html",
+    name: "SPDX-license-identifier-EUPL-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/EUPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EUPL",
-	conditions: ["by_exception_only", "not_allowed"],
+    name: "SPDX-license-identifier-EUPL-1.1",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/EUPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EUPL-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/EUPL-1.0.html",
+    name: "SPDX-license-identifier-EUPL-1.2",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/EUPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EUPL-1.1",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/EUPL-1.0.html",
+    name: "SPDX-license-identifier-FSFAP",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/FSFAP",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-EUPL-1.2",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/EUPL-1.0.html",
+    name: "SPDX-license-identifier-FTL",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/FTL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-FTL",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/FTL.html",
+    name: "SPDX-license-identifier-GFDL",
+    conditions: ["by_exception_only"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-GPL",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-1.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-1.0.html",
+    name: "SPDX-license-identifier-GPL-1.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-1.0+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-1.0+.html",
+    name: "SPDX-license-identifier-GPL-1.0+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-1.0+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-1.0-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-1.0-only.html",
+    name: "SPDX-license-identifier-GPL-1.0-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-1.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-1.0-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-1.0-or-later.html",
+    name: "SPDX-license-identifier-GPL-1.0-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-1.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0.html",
+    name: "SPDX-license-identifier-GPL-2.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0+.html",
+    name: "SPDX-license-identifier-GPL-2.0+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-only.html",
+    name: "SPDX-license-identifier-GPL-2.0-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-or-later.html",
+    name: "SPDX-license-identifier-GPL-2.0-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-with-GCC-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
+    name: "SPDX-license-identifier-GPL-2.0-with-GCC-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-with-autoconf-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
+    name: "SPDX-license-identifier-GPL-2.0-with-autoconf-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-with-bison-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
+    name: "SPDX-license-identifier-GPL-2.0-with-bison-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
+    name: "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-2.0-with-font-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
+    name: "SPDX-license-identifier-GPL-2.0-with-font-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0.html",
+    name: "SPDX-license-identifier-GPL-3.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0+.html",
+    name: "SPDX-license-identifier-GPL-3.0+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0-only.html",
+    name: "SPDX-license-identifier-GPL-3.0-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0-or-later.html",
+    name: "SPDX-license-identifier-GPL-3.0-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0-with-GCC-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
+    name: "SPDX-license-identifier-GPL-3.0-with-GCC-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-3.0-with-autoconf-exception",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
+    name: "SPDX-license-identifier-GPL-3.0-with-autoconf-exception",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-GPL-with-classpath-exception",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-GPL-with-classpath-exception",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-HPND",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/HPND.html",
+    name: "SPDX-license-identifier-HPND",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/HPND.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ICU",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/ICU.html",
+    name: "SPDX-license-identifier-ICU",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/ICU.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ISC",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/ISC.html",
+    name: "SPDX-license-identifier-ISC",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/ISC.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-JSON",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/JSON.html",
+    name: "SPDX-license-identifier-JSON",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/JSON.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL",
-	conditions: ["restricted"],
+    name: "SPDX-license-identifier-LGPL",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.0.html",
+    name: "SPDX-license-identifier-LGPL-2.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.0+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.0+.html",
+    name: "SPDX-license-identifier-LGPL-2.0+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.0+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.0-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.0-only.html",
+    name: "SPDX-license-identifier-LGPL-2.0-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.0-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.0-or-later.html",
+    name: "SPDX-license-identifier-LGPL-2.0-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.1",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.1.html",
+    name: "SPDX-license-identifier-LGPL-2.1",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.1+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.1+.html",
+    name: "SPDX-license-identifier-LGPL-2.1+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.1+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.1-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.1-only.html",
+    name: "SPDX-license-identifier-LGPL-2.1-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.1-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-2.1-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-2.1-or-later.html",
+    name: "SPDX-license-identifier-LGPL-2.1-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-2.1-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-3.0",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-3.0.html",
+    name: "SPDX-license-identifier-LGPL-3.0",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-3.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-3.0+",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-3.0+.html",
+    name: "SPDX-license-identifier-LGPL-3.0+",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-3.0+.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-3.0-only",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-3.0-only.html",
+    name: "SPDX-license-identifier-LGPL-3.0-only",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-3.0-only.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPL-3.0-or-later",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPL-3.0-or-later.html",
+    name: "SPDX-license-identifier-LGPL-3.0-or-later",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPL-3.0-or-later.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LGPLLR",
-	conditions: ["restricted"],
-	url: "https://spdx.org/licenses/LGPLLR.html",
+    name: "SPDX-license-identifier-LGPLLR",
+    conditions: ["restricted"],
+    url: "https://spdx.org/licenses/LGPLLR.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-LPL-1.02",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/LPL-1.02.html",
+    name: "SPDX-license-identifier-LPL-1.02",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/LPL-1.02.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-MIT",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT-0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MIT-0.html",
+    name: "SPDX-license-identifier-MIT-0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MIT-0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT-CMU",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MIT-CMU.html",
+    name: "SPDX-license-identifier-MIT-CMU",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MIT-CMU.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT-advertising",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MIT-advertising.html",
+    name: "SPDX-license-identifier-MIT-advertising",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MIT-advertising.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT-enna",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MIT-enna.html",
+    name: "SPDX-license-identifier-MIT-enna",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MIT-enna.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MIT-feh",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MIT-feh.html",
+    name: "SPDX-license-identifier-MIT-feh",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MIT-feh.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MITNFA",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MITNFA.html",
+    name: "SPDX-license-identifier-MITNFA",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MITNFA.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MPL",
-	conditions: ["reciprocal"],
+    name: "SPDX-license-identifier-MPL",
+    conditions: ["reciprocal"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MPL-1.0",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/MPL-1.0.html",
+    name: "SPDX-license-identifier-MPL-1.0",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/MPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MPL-1.1",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/MPL-1.1.html",
+    name: "SPDX-license-identifier-MPL-1.1",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/MPL-1.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MPL-2.0",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/MPL-2.0.html",
+    name: "SPDX-license-identifier-MPL-2.0",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/MPL-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MPL-2.0-no-copyleft-exception",
-	conditions: ["reciprocal"],
-	url: "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
+    name: "SPDX-license-identifier-MPL-2.0-no-copyleft-exception",
+    conditions: ["reciprocal"],
+    url: "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-MS-PL",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/MS-PL.html",
+    name: "SPDX-license-identifier-MS-PL",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/MS-PL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-NCSA",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/NCSA.html",
+    name: "SPDX-license-identifier-MS-RL",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/MS-RL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL",
-	conditions: ["by_exception_only"],
+    name: "SPDX-license-identifier-NCSA",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/NCSA.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.0",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.0.html",
+    name: "SPDX-license-identifier-OFL",
+    conditions: ["by_exception_only"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.0-RFN",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.0-RFN.html",
+    name: "SPDX-license-identifier-OFL-1.0",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.0-no-RFN",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
+    name: "SPDX-license-identifier-OFL-1.0-RFN",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.0-RFN.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.1",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.1.html",
+    name: "SPDX-license-identifier-OFL-1.0-no-RFN",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.1-RFN",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.1-RFN.html",
+    name: "SPDX-license-identifier-OFL-1.1",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OFL-1.1-no-RFN",
-	conditions: ["by_exception_only"],
-	url: "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
+    name: "SPDX-license-identifier-OFL-1.1-RFN",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.1-RFN.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-OpenSSL",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/OpenSSL.html",
+    name: "SPDX-license-identifier-OFL-1.1-no-RFN",
+    conditions: ["by_exception_only"],
+    url: "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-PSF-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/PSF-2.0.html",
+    name: "SPDX-license-identifier-OpenSSL",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/OpenSSL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-SISSL",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/SISSL.html",
+    name: "SPDX-license-identifier-PSF-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/PSF-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-SISSL-1.2",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/SISSL-1.2.html",
+    name: "SPDX-license-identifier-SISSL",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/SISSL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-SPL-1.0",
-	conditions: ["by_exception_only", "reciprocal"],
-	url: "https://spdx.org/licenses/SPL-1.0.html",
+    name: "SPDX-license-identifier-SISSL-1.2",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/SISSL-1.2.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-SSPL",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/SSPL.html",
+    name: "SPDX-license-identifier-SPL-1.0",
+    conditions: [
+        "by_exception_only",
+        "reciprocal",
+    ],
+    url: "https://spdx.org/licenses/SPL-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-UPL-1.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/UPL-1.-.html",
+    name: "SPDX-license-identifier-SSPL",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/SSPL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Unicode-DFS",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-UPL-1.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/UPL-1.-.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Unicode-DFS-2015",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Unicode-DFS-2015.html",
+    name: "SPDX-license-identifier-Unicode-DFS",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Unicode-DFS-2016",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Unicode-DFS-2016.html",
+    name: "SPDX-license-identifier-Unicode-DFS-2015",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Unicode-DFS-2015.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Unlicense",
-	conditions: ["unencumbered"],
-	url: "https://spdx.org/licenses/Unlicense.html",
+    name: "SPDX-license-identifier-Unicode-DFS-2016",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Unicode-DFS-2016.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-W3C",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/W3C.html",
+    name: "SPDX-license-identifier-Unlicense",
+    conditions: ["unencumbered"],
+    url: "https://spdx.org/licenses/Unlicense.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-W3C-19980720",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/W3C-19980720.html",
+    name: "SPDX-license-identifier-W3C",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/W3C.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-W3C-20150513",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/W3C-20150513.html",
+    name: "SPDX-license-identifier-W3C-19980720",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/W3C-19980720.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-WTFPL",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/WTFPL.html",
+    name: "SPDX-license-identifier-W3C-20150513",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/W3C-20150513.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Watcom-1.0",
-	conditions: ["by_exception_only", "not_allowed"],
-	url: "https://spdx.org/licenses/Watcom-1.0.html",
+    name: "SPDX-license-identifier-WTFPL",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/WTFPL.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Xnet",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Xnet.html",
+    name: "SPDX-license-identifier-Watcom-1.0",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+    url: "https://spdx.org/licenses/Watcom-1.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ZPL",
-	conditions: ["notice"],
+    name: "SPDX-license-identifier-Xnet",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Xnet.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ZPL-1.1",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/ZPL-1.1.html",
+    name: "SPDX-license-identifier-ZPL",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ZPL-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/ZPL-2.0.html",
+    name: "SPDX-license-identifier-ZPL-1.1",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/ZPL-1.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-ZPL-2.1",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/ZPL-2.1.html",
+    name: "SPDX-license-identifier-ZPL-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/ZPL-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Zend-2.0",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Zend-2.0.html",
+    name: "SPDX-license-identifier-ZPL-2.1",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/ZPL-2.1.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-Zlib",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/Zlib.html",
+    name: "SPDX-license-identifier-Zend-2.0",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Zend-2.0.html",
 }
 
 license_kind {
-	name: "SPDX-license-identifier-libtiff",
-	conditions: ["notice"],
-	url: "https://spdx.org/licenses/libtiff.html",
+    name: "SPDX-license-identifier-Zlib",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/Zlib.html",
 }
 
+license_kind {
+    name: "SPDX-license-identifier-libtiff",
+    conditions: ["notice"],
+    url: "https://spdx.org/licenses/libtiff.html",
+}
 
 // Legacy license kinds -- do not add new references -- use an spdx kind instead.
 license_kind {
-	name: "legacy_unknown",
-	conditions: ["by_exception_only"],
+    name: "legacy_unknown",
+    conditions: ["by_exception_only"],
 }
 
 license_kind {
-	name: "legacy_unencumbered",
-	conditions: ["unencumbered"],
+    name: "legacy_unencumbered",
+    conditions: ["unencumbered"],
 }
 
 license_kind {
-	name: "legacy_permissive",
-	conditions: ["permissive"],
+    name: "legacy_permissive",
+    conditions: ["permissive"],
 }
 
 license_kind {
-	name: "legacy_notice",
-	conditions: ["notice"],
+    name: "legacy_notice",
+    conditions: ["notice"],
 }
 
 license_kind {
-	name: "legacy_reciprocal",
-	conditions: ["reciprocal"],
+    name: "legacy_reciprocal",
+    conditions: ["reciprocal"],
 }
 
 license_kind {
-	name: "legacy_restricted",
-	conditions: ["restricted"],
+    name: "legacy_restricted",
+    conditions: ["restricted"],
 }
 
 license_kind {
-	name: "legacy_by_exception_only",
-	conditions: ["by_exception_only"],
+    name: "legacy_by_exception_only",
+    conditions: ["by_exception_only"],
 }
 
 license_kind {
-	name: "legacy_not_allowed",
-	conditions: ["by_exception_only", "not_allowed"],
+    name: "legacy_not_a_contribution",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
 }
 
 license_kind {
-	name: "legacy_proprietary",
-	conditions: ["by_exception_only", "not_allowed", "proprietary"],
+    name: "legacy_not_allowed",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+    ],
+}
+
+license_kind {
+    name: "legacy_proprietary",
+    conditions: [
+        "by_exception_only",
+        "not_allowed",
+        "proprietary",
+    ],
 }