// big language-profile for testing
fn lang_profile_big0(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big0(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big0("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big1(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big1(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big1("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big2(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big2(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big2("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big3(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big3(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big3("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big4(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big4(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big4("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big5(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big5(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big5("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big6(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big6(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big6("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big7(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big7(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big7("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big8(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big8(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big8("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big9(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big9(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big9("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big10(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big10(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big10("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big11(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big11(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big11("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big12(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big12(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big12("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big13(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big13(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big13("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big14(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big14(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big14("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big15(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big15(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big15("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big16(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big16(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big16("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big17(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big17(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big17("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big18(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big18(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big18("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

fn lang_profile_big19(code: String, word_order: String, morph_type: String, has_case: String, has_gender: String, script_dir: String, agreement: String, null_subject: String) -> [String] {
    let r: [String] = native_list_empty()
    let r = native_list_append(r, "code")
    let r = native_list_append(r, code)
    let r = native_list_append(r, "word_order")
    let r = native_list_append(r, word_order)
    let r = native_list_append(r, "morph_type")
    let r = native_list_append(r, morph_type)
    let r = native_list_append(r, "has_case")
    let r = native_list_append(r, has_case)
    let r = native_list_append(r, "has_gender")
    let r = native_list_append(r, has_gender)
    let r = native_list_append(r, "script_dir")
    let r = native_list_append(r, script_dir)
    let r = native_list_append(r, "agreement")
    let r = native_list_append(r, agreement)
    let r = native_list_append(r, "null_subject")
    let r = native_list_append(r, null_subject)
    return r
}

fn lang_get_big19(profile: [String], key: String) -> String {
    let n: Int = native_list_len(profile)
    let i: Int = 0
    while i < n - 1 {
        let k: String = native_list_get(profile, i)
        if str_eq(k, key) {
            return native_list_get(profile, i + 1)
        }
        let i = i + 2
    }
    return ""
}

fn lang_profile_en() -> [String] {
    return lang_profile_big19("en", "SVO", "fusional", "false", "false", "ltr", "number;person", "false")
}

