string primvars[] = split(chs("primvars_input"), "\n");
string usdattrs[] = split(chs("usdattrs_input"), "\n");
for (int i = 0; i < len(primvars); i++) {
    primvars[i] = strip(primvars[i]);
}
for (int i = 0; i < len(usdattrs); i++) {
    usdattrs[i] = strip(usdattrs[i]);
}
string metadata_path = "/metadata";
string metadata_primvars[] = usd_metadata(0, metadata_path, "customData:primvars_list");
string metadata_attrs[] = usd_metadata(0, metadata_path, "customData:usdattrs_list");
foreach (string pattern; primvars) {
    if (pattern == "") continue;
    foreach (string meta_pv; metadata_primvars) {
        if (match(pattern, meta_pv)) {
            usd_blockprimvar(0, @primpath, meta_pv);
        }
    }
}
foreach (string pattern; usdattrs) {
    if (pattern == "") continue;
    foreach (string meta_attr; metadata_attrs) {
        if (match(pattern, meta_attr)) {
            usd_blockattrib(0, @primpath, meta_attr);
        }
    }
}