# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2024 Alexandre Pujol <alexandre@pujol.io>
# Copyright (C) 2024 odomingao
# SPDX-License-Identifier: GPL-2.0-only

# Define commonly used extensions

# All variables that refer to an extension must have the `_ext` suffix.

# Packages
@{package_ext}  = [aA][bB][bB] # abb
@{package_ext} += [aA][pP][kK] # apk
@{package_ext} += [aA][pP][pP][xX] # appx
@{package_ext} += [aA][pP][pP][xX][bB][uU][nN][dD][lL][eE] # appxbundle
@{package_ext} += [cC][rR][xX] # crx
@{package_ext} += [dD][eE][bB] # deb
@{package_ext} += [eE][mM][sS][iI][xX] # emsix
@{package_ext} += [eE][mM][sS][iI][xX][bB][uU][nN][dD][lL][eE] # emsixbundle
@{package_ext} += [jJ][aA][rR] # jar
@{package_ext} += [mM][pP][kK][gG] # mpkg
@{package_ext} += [mM][sS][iI] # msi
@{package_ext} += [mM][sS][iI][xX] # msix
@{package_ext} += [mM][sS][iI][xX][bB][uU][nN][dD][lL][eE] # msixbundle
@{package_ext} += [pP][kK][gG] # pkg
@{package_ext} += [pP][kK][gG].[tT][aA][rR]{,[zZ][sS][tT]} # pkg.tar{,.zst}
@{package_ext} += [rR][pP][mM] # rpm
@{package_ext} += [tT][gG][zZ] # tgz

# Disk images
@{diskimage_ext}  = [aA][dD][fF] # adf
@{diskimage_ext} += [aA][dD][zZ] # adz
@{diskimage_ext} += [bB][wW][tT] # bwt
@{diskimage_ext} += [cC][iI][fF] # cif
@{diskimage_ext} += [cC][uU][eE] # cue
@{diskimage_ext} += [cC][dD][iI] # cdi
@{diskimage_ext} += [bB]5[tT] # b5t
@{diskimage_ext} += [bB]6[tT]  # b6t
@{diskimage_ext} += [dD][aA][aA] # daa
@{diskimage_ext} += [dD][mM][gG] # dmg
@{diskimage_ext} += [dD][mM][sS] # dms
@{diskimage_ext} += [dD][sS][kK] # dsk
@{diskimage_ext} += [dD]64 # d64
@{diskimage_ext} += [iI][sS][oO] # iso
@{diskimage_ext} += [iI][mM][gG] # img
@{diskimage_ext} += [iI][mM][aA] # ima
@{diskimage_ext} += [nN][rR][gG] # nrg
@{diskimage_ext} += [mM][dD][fF] # mdf
@{diskimage_ext} += [mM][dD][sS] # mds
@{diskimage_ext} += [mM][dD][xX] # mdx
@{diskimage_ext} += [pP][aA][rR][tT][iI][mM][gG] # partimg
@{diskimage_ext} += [sS][dD][iI] # sdi
@{diskimage_ext} += [wW][iI][mM] # wim
@{diskimage_ext} += [sS][wW][mM] # swm
@{diskimage_ext} += [eE][sS][dD] # esd

# Archives
@{archive_ext}  = @{diskimage_ext} @{package_ext}
@{archive_ext} += ??_ # ??_
@{archive_ext} += ?[qQ]? # ?q? 
@{archive_ext} += ?[zZ]? # ?z?
@{archive_ext} += [aA] # a
@{archive_ext} += [aA][aA][rR] # aar
@{archive_ext} += [aA][cC][eE] # ace
@{archive_ext} += [aA][fF][aA] # afa
@{archive_ext} += [aA][lL][zZ] # alz
@{archive_ext} += [aA][rR] # ar
@{archive_ext} += [aA][rR][cC] # arc
@{archive_ext} += [aA][rR][jJ] # arj
@{archive_ext} += [bB][aA][hH] # bah
@{archive_ext} += [bB][aA][rR] # bar
@{archive_ext} += [bB][rR] # br
@{archive_ext} += [bB][zZ]2 # bz2
@{archive_ext} += [bB]1 # b1
@{archive_ext} += [bB]6[zZ] # b6z
@{archive_ext} += [cC][aA][bB] # cab
@{archive_ext} += [cC][aA][rR] # car
@{archive_ext} += [cC][dD][xX] # cdx
@{archive_ext} += [cC][fF][sS] # cfs
@{archive_ext} += [cC][pP][iI][oO] # cpio
@{archive_ext} += [dD][aA][rR] # dar
@{archive_ext} += [dD][gG][cC] # dgc
@{archive_ext} += [eE][aA][rR] # ear
@{archive_ext} += [gG][cC][aA] # gca
@{archive_ext} += [gG][eE][nN][oO][zZ][iI][pP] # genozip
@{archive_ext} += [gG][zZ] # gz
@{archive_ext} += [hH][aA] # ha
@{archive_ext} += [hH][kK][iI] # hki
@{archive_ext} += [iI][cC][eE] # ice
@{archive_ext} += [iI][oO] # io
@{archive_ext} += [kK][gG][bB] # kgb
@{archive_ext} += [lL][bB][rR] # lbr
@{archive_ext} += [lL][hH][aA] # lha
@{archive_ext} += [lL][pP][aA][qQ]@{int} # lpaq@{int}
@{archive_ext} += [lL][zZ] # lz
@{archive_ext} += [lL][zZ][hH] # lzh
@{archive_ext} += [lL][zZ][mM][aA] # lzma
@{archive_ext} += [lL][zZ][oO] # lzo
@{archive_ext} += [lL][zZ][xX] # lzx
@{archive_ext} += [mM][aA][rR] # mar
@{archive_ext} += [pP][aA][kK] # pak
@{archive_ext} += [pP][aA][qQ]@{int} # paq@{int}
@{archive_ext} += [pP][aA][rR] # par
@{archive_ext} += [pP][aA][rR]2 # par2
@{archive_ext} += [pP][aA][xX] # pax
@{archive_ext} += [pP][eE][aA] # pea
@{archive_ext} += [pP][hH][aA][rR] # phar
@{archive_ext} += [pP][iI][mM] # pim
@{archive_ext} += [pP][iI][tT] # pit
@{archive_ext} += [pP][kK][aA] # pka
@{archive_ext} += [pP][mM][aA] # pma
@{archive_ext} += [pP][sS][tT] # pst
@{archive_ext} += [qQ][dD][aA] # qda
@{archive_ext} += [rR][aA][rR] # rar
@{archive_ext} += [rR][kK] # rk
@{archive_ext} += [rR][uU][nN] # run
@{archive_ext} += [rR][zZ] # rz
@{archive_ext} += [rR]@{int} # r@{int}
@{archive_ext} += [sS][bB][xX] # sbx
@{archive_ext} += [sS][dD][aA] # sda
@{archive_ext} += [sS][eE][aA] # sea
@{archive_ext} += [sS][eE][nN] # sen
@{archive_ext} += [sS][fF][aA][rR][kK] # sfark
@{archive_ext} += [sS][fF][xX] # sfx
@{archive_ext} += [sS][hH][aA][rR] # shar
@{archive_ext} += [sS][hH][kK] # shk
@{archive_ext} += [sS][iI][tT] # sit
@{archive_ext} += [sS][iI][tT][xX] # sitx
@{archive_ext} += [sS][qQ][sS] # sqs
@{archive_ext} += [sS][zZ] # sz
@{archive_ext} += [sS]7[zZ] # s7z
@{archive_ext} += [tT][aA][rR] # tar
@{archive_ext} += [tT][aA][rR].[bB][zZ]2 # tar.bz2
@{archive_ext} += [tT][aA][rR].[gG][zZ] # tar.gz
@{archive_ext} += [tT][aA][rR].[lL][zZ] # tar.lz
@{archive_ext} += [tT][aA][rR].[lL][zZ][mM][aA] # tar.lzma
@{archive_ext} += [tT][aA][rR].[xX][zZ] # tar.xz
@{archive_ext} += [tT][aA][rR].[zZ] # tar.z
@{archive_ext} += [tT][aA][rR].[zZ][sS][tT] # tar.zst
@{archive_ext} += [tT][gG][zZ] # tgz
@{archive_ext} += [tT][lL][zZ] # tlz
@{archive_ext} += [tT][xX][zZ] # txz
@{archive_ext} += [uU][cC] # uc
@{archive_ext} += [uU][cC][aA] # uca
@{archive_ext} += [uU][cC][nN] # ucn
@{archive_ext} += [uU][cC]0 # uc0
@{archive_ext} += [uU][cC]2 # uc2
@{archive_ext} += [uU][eE]2 # ue2
@{archive_ext} += [uU][hH][aA] # uha
@{archive_ext} += [uU][rR]2 # ur2
@{archive_ext} += [wW][aA][rR] # war
@{archive_ext} += [xX][aA][rR] # xar
@{archive_ext} += [xX][pP]3 # xp3
@{archive_ext} += [xX][zZ] # xz
@{archive_ext} += [yY][zZ]1 # yz1
@{archive_ext} += [zZ][iI][pP] # zip
@{archive_ext} += [zZ][iI][pP][xX] # zipx
@{archive_ext} += [zZ][oO][oO] # zoo
@{archive_ext} += [zZ][pP][aA][qQ] # zpaq
@{archive_ext} += [zZ][sS][tT] # zst
@{archive_ext} += [zZ][zZ] # zz
@{archive_ext} += 7[zZ] # 7z

# Audio
@{audio_ext}  = [aA][aA][cC] # aac
@{audio_ext} += [aA][aA][lL] # aal
@{audio_ext} += [aA][aA]3 # aa3
@{audio_ext} += [aA][cC][nN] # acn
@{audio_ext} += [aA][cC]3 # ac3
@{audio_ext} += [aA][dD][tT][sS] # adts
@{audio_ext} += [aA][iI][fF] # aif
@{audio_ext} += [aA][iI][fF][cC] # aifc
@{audio_ext} += [aA][iI][fF][fF] # aiff
@{audio_ext} += [aA][lL][aA][cC] # alac
@{audio_ext} += [aA][mM][rR] # amr
@{audio_ext} += [aA][sS][sS] # ass
@{audio_ext} += [aA][tT][xX] # atx
@{audio_ext} += [aA][uU] # au
@{audio_ext} += [aA][wW][bB] # awb
@{audio_ext} += [aA][xX][aA] # axa
@{audio_ext} += [dD][lL][sS] # dls
@{audio_ext} += [dD][tT][sS] # dts
@{audio_ext} += [dD][tT][sS][hH][dD] # dtshd
@{audio_ext} += [eE][cC][eE][lL][pP]4800 # ecelp4800
@{audio_ext} += [eE][cC][eE][lL][pP]7470 # ecelp7470
@{audio_ext} += [eE][cC][eE][lL][pP]9600 # ecelp9600
@{audio_ext} += [eE][nN][wW] # enw
@{audio_ext} += [eE][oO][lL] # eol
@{audio_ext} += [eE][vV][bB] # evb
@{audio_ext} += [eE][vV][cC] # evc
@{audio_ext} += [eE][vV][wW] # wvw
@{audio_ext} += [fF][lL][aA][cC] # flac
@{audio_ext} += [kK][aA][rR] # kar
@{audio_ext} += [kK][oO][zZ] # koz
@{audio_ext} += [lL][bB][cC] # lbc
@{audio_ext} += [lL][oO][aA][sS] # loas
@{audio_ext} += [lL][vV][pP] # lvp
@{audio_ext} += [lL]16 # l16
@{audio_ext} += [mM][eE][dD] # med
@{audio_ext} += [mM][hH][aA][sS] # mhas
@{audio_ext} += [mM][iI][dD] # mid
@{audio_ext} += [mM][iI][dD][iI] # midi
@{audio_ext} += [mM][kK][aA] # mka
@{audio_ext} += [mM][lL][pP] # mlp
@{audio_ext} += [mM][oO][dD] # mod
@{audio_ext} += [mM][pP][gG][aA] # mpga
@{audio_ext} += [mM][pP]1 # mp1
@{audio_ext} += [mM][pP]2 # mp2
@{audio_ext} += [mM][pP]3 # mp3
@{audio_ext} += [mM][tT][mM] # mtm
@{audio_ext} += [mM][uU][lL][tT][iI][tT][rR][aA][cC][kK] # multitrack
@{audio_ext} += [mM][xX][mM][fF] # mxmf
@{audio_ext} += [mM]15 # m15
@{audio_ext} += [mM]3[uU] # m3u
@{audio_ext} += [mM]4[aA] # m4a
@{audio_ext} += [oO][gG] # og
@{audio_ext} += [oO][gG][aA] # oga
@{audio_ext} += [oO][mM][gG] # omg
@{audio_ext} += [oO][pP][uU][sS] # opus
@{audio_ext} += [pP][lL][jJ] # plj
@{audio_ext} += [pP][sS][iI][dD] # psid
@{audio_ext} += [pP][yY][aA] # pya
@{audio_ext} += [qQ][cC][pP] # qcp
@{audio_ext} += [rR][aA] # ra
@{audio_ext} += [rR][aA][mM] # ram
@{audio_ext} += [rR][iI][pP] # rip
@{audio_ext} += [rR][mM] # rm
@{audio_ext} += [sS][iI][dD] # sid
@{audio_ext} += [sS][mM][pP] # smp
@{audio_ext} += [sS][mM][pP]3 # smp3
@{audio_ext} += [sS][mM][vV] # smv
@{audio_ext} += [sS][nN][dD] # snd
@{audio_ext} += [sS][oO][fF][aA] # sofa
@{audio_ext} += [sS][pP][xX] # spx
@{audio_ext} += [sS][tT][mM] # stm
@{audio_ext} += [sS]1[mM] # s1m
@{audio_ext} += [sS]3[mM] # s3m
@{audio_ext} += [uU][lL][tT] # ult
@{audio_ext} += [uU][nN][iI] # uni
@{audio_ext} += [uU][vV][aA] # uva
@{audio_ext} += [uU][vV][vV][aA] # uvva
@{audio_ext} += [vV][bB][kK] # vbk
@{audio_ext} += [wW][aA][vV] # wav
@{audio_ext} += [wW][aA][xX] # wax
@{audio_ext} += [wW][mM][aA] # wma
@{audio_ext} += [xX][hH][eE] # xhe
@{audio_ext} += 669 # 669

# Lyrics
@{lyrics_ext}  = [lL][rR][cC] # lrc
@{lyrics_ext} += [lL][yY][rR][iI][cC] # lyric

# Videos
@{video_ext}  = [aA][sS][xX] # asx
@{video_ext} += [aA][vV][iI] # avi
@{video_ext} += [aA][xX][vV] # axv
@{video_ext} += [bB][iI][kK] # bik
@{video_ext} += [bB][kK]2 # bk2
@{video_ext} += [dD][vV][bB] # dvb
@{video_ext} += [fF][lL][vV] # flv
@{video_ext} += [fF][vV][tT] # fvt
@{video_ext} += [fF][xX][mM] # fxm
@{video_ext} += [mM][jJ][pP]2 # mjp2
@{video_ext} += [mM][jJ]2 # mj2
@{video_ext} += [mM][kK][vV] # mkv
@{video_ext} += [mM][kK]3[dD] # mk3d
@{video_ext} += [mM][oO][vV] # mov
@{video_ext} += [mM][pP][eE] # mpe
@{video_ext} += [mM][pP][eE][gG] # mpeg
@{video_ext} += [mM][pP][gG] # mpg
@{video_ext} += [mM][pP][gG]4 # mpg4
@{video_ext} += [mM][pP]4 # mp4
@{video_ext} += [mM][xX][uU] # mxu
@{video_ext} += [mM]1[vV] # m1v
@{video_ext} += [mM]2[vV] # m2v
@{video_ext} += [mM]4[sS] # m4s
@{video_ext} += [mM]4[uU] # m4u
@{video_ext} += [mM]4[vV] # m4v
@{video_ext} += [nN][iI][mM] # nim
@{video_ext} += [oO][gG][vV] # ogv
@{video_ext} += [pP][yY][vV] # pyv
@{video_ext} += [qQ][tT] # qt
@{video_ext} += [sS][mM][kK] # smk
@{video_ext} += [sS][mM][oO] # smo
@{video_ext} += [sS][mM][pP][gG] # smpg
@{video_ext} += [sS][sS][mM][oO][vV] # ssmov
@{video_ext} += [sS][sS][wW][fF] # sswf
@{video_ext} += [sS]1[qQ] # s1q
@{video_ext} += [sS]11 # s11
@{video_ext} += [sS]14 # s14
@{video_ext} += [uU][vV][hH] # uvh
@{video_ext} += [uU][vV][mM] # uvm
@{video_ext} += [uU][vV][pP] # uvp
@{video_ext} += [uU][vV][sS] # uvs
@{video_ext} += [uU][vV][uU] # uvu
@{video_ext} += [uU][vV][vV][hH] # uvvh
@{video_ext} += [uU][vV][vV][mM] # uvvm
@{video_ext} += [uU][vV][vV][pP] # uvvp
@{video_ext} += [uU][vV][vV][sS] # uvvs
@{video_ext} += [uU][vV][vV][uU] # uvvu
@{video_ext} += [uU][vV][vV][vV] # uvv
@{video_ext} += [vV][iI][vV] # viv
@{video_ext} += [wW][eE][bB][mM] # webm
@{video_ext} += [wW][mM] # wm
@{video_ext} += [wW][mM][vV] # wmv
@{video_ext} += [wW][mM][xX] # wmx
@{video_ext} += [wW][vV][xX] # wvx
@{video_ext} += [yY][tT] # yt
@{video_ext} += 3[gG][pP] # 3gp
@{video_ext} += 3[gG][pP][pP] # 3gpp
@{video_ext} += 3[gG][pP][pP]2 # 3gpp2
@{video_ext} += 3[gG]2 # 3g2

# Subtitles            
@{subtitles_ext}  = [aA][qQ][tT] # aqt
@{subtitles_ext} += [aA][sS][sS] # ass
@{subtitles_ext} += [gG][sS][uU][bB] # gsub
@{subtitles_ext} += [uU][sS][fF] # usf
@{subtitles_ext} += [pP][aA][cC] # pac
@{subtitles_ext} += [pP][jJ][sS] # pjs
@{subtitles_ext} += [pP][sS][bB] # psb
@{subtitles_ext} += [rR][tT] # rt
@{subtitles_ext} += [sS][bB][vV] # sbv
@{subtitles_ext} += [sS][mM][iI] # smi
@{subtitles_ext} += [sS][rR][tT] # srt
@{subtitles_ext} += [sS][sS][aA] # ssa
@{subtitles_ext} += [sS][sS][fF] # ssf
@{subtitles_ext} += [sS][tT][lL] # stl
@{subtitles_ext} += [sS][uU][bB] # sub
@{subtitles_ext} += [tT][t][mM][lL] # ttml
@{subtitles_ext} += [tT][t][xX][tT] # ttxt
@{subtitles_ext} += [vV][tT][t] # vtt

# Images
@{image_ext}  = [aA][pP][nN][gG] # apng
@{image_ext} += [aA][vV][cC][iI] # avci
@{image_ext} += [aA][vV][cC][sS] # avcs
@{image_ext} += [aA][vV][iI][fF] # avif
@{image_ext} += [aA][zZ][vV] # azv
@{image_ext} += [bB][mM][pP] # bmp
@{image_ext} += [bB][tT][fF] # btf
@{image_ext} += [bB][tT][iI][fF] # btif
@{image_ext} += [bB]16 # b16
@{image_ext} += [cC][gG][mM] # cgm
@{image_ext} += [dD][iI][bB] # dib
@{image_ext} += [dD][jJ][vV] # djv
@{image_ext} += [dD][jJ][vV][uU] # djvu
@{image_ext} += [dD][pP][xX] # dpx
@{image_ext} += [dD][rR][lL][eE] # drle
@{image_ext} += [dD][wW][gG] # dwg
@{image_ext} += [dD][xX][fF] # dxf
@{image_ext} += [eE][mM][fF] # emf
@{image_ext} += [eE][xX][rR] # exr
@{image_ext} += [fF][bB][sS] # fbs
@{image_ext} += [fF][iI][tT] # fit
@{image_ext} += [fF][iI][tT][sS] # fits
@{image_ext} += [fF][pP][xX] # fpx
@{image_ext} += [fF][sS][tT] # fst
@{image_ext} += [fF][tT][sS] # fts
@{image_ext} += [gG][iI][fF] # gif
@{image_ext} += [hH][dD][rR] # hdr
@{image_ext} += [hH][eE][iI][cC] # heic
@{image_ext} += [hH][eE][iI][cC][sS][hH][eE][iI][fF] # heics
@{image_ext} += [hH][eE][iI][fF][sS] # heif
@{image_ext} += [hH][eE][jJ]2 # heifs
@{image_ext} += [hH][iI][fF] # hif
@{image_ext} += [hH][sS][jJ]2 # hsj2
@{image_ext} += [iE][eE][fF] # ief
@{image_ext} += [iI][cC][oO] # ico
@{image_ext} += [jJ][fF][iI][fF] # jfif
@{image_ext} += [jJ][hH][cC] # jhc
@{image_ext} += [jJ][lL][sS] # jls
@{image_ext} += [jJ][pP][eE][gG] # jpeg
@{image_ext} += [jJ][pP][fF] # jpf
@{image_ext} += [jJ][pP][gG] # jpg
@{image_ext} += [jJ][pP][gG][mM] # jpgm
@{image_ext} += [jJ][pP][gG]2 # jpg2
@{image_ext} += [jJ][pP][hH] # jph
@{image_ext} += [jJ][pP][mM] # jpm
@{image_ext} += [jJ][pP][xX] # jpx
@{image_ext} += [jJ][pP]2 # jp2
@{image_ext} += [jJ][xX][lL] # jxl
@{image_ext} += [jJ][xX][rR] # jxr
@{image_ext} += [jJ][xX][rR][aA] # jxra
@{image_ext} += [jJ][xX][rR][sS] # jxrs
@{image_ext} += [jJ][xX][sS][cC] # jxsc
@{image_ext} += [jJ][xX][sS][iI] # jxsi
@{image_ext} += [jJ][xX][sS][sS] # jxss
@{image_ext} += [kK][tT][xX] # ktx
@{image_ext} += [kK][tT][xX]2 # ktx2
@{image_ext} += [mM][dD][iI] # mdi
@{image_ext} += [mM][mM][rR] # mmr
@{image_ext} += [pP][bB][mM] # pbm
@{image_ext} += [pP][cC][xX] # pcx
@{image_ext} += [pP][gG][bB] # pgb
@{image_ext} += [pP][gG][mM] # pgm
@{image_ext} += [pP][nN][gG] # png
@{image_ext} += [pP][nN][mM] # pnm
@{image_ext} += [pP][pP][mM] # ppm
@{image_ext} += [pP][sS][dD] # psd
@{image_ext} += [pP][sS][dD][cC] # psdc
@{image_ext} += [pP][tT][iI] # pti
@{image_ext} += [rR][aA][sS] # ras
@{image_ext} += [rR][gG][bB] # rgb
@{image_ext} += [rR][gG][bB][eE] # rgbe
@{image_ext} += [rR][lL][cC] # rlc
@{image_ext} += [sS][gG][iI] # sgi
@{image_ext} += [sS][gG]1[gG] # s1g
@{image_ext} += [sS][jJ][pP] # sjp
@{image_ext} += [sS][jJ][pP][gG] # sjpg
@{image_ext} += [sS][pP][nN] # spn
@{image_ext} += [sS][pP][nN][gG] # spng
@{image_ext} += [sS][vV][gG] # svg
@{image_ext} += [sS][vV][gG][zZ] # svgz
@{image_ext} += [sS]1[jJ] # s1j
@{image_ext} += [sS]1[nN] # s1n
@{image_ext} += [tT][aA][pP] # tap
@{image_ext} += [tT][gG][aA] # tga
@{image_ext} += [tT][iI][fF] # tif
@{image_ext} += [tT][iI][fF][fF] # tiff
@{image_ext} += [tT]38 # t38
@{image_ext} += [uU][vV][gG] # uvg
@{image_ext} += [uU][vV][iI] # uvi
@{image_ext} += [uU][vV][vV][gG] # uvvg
@{image_ext} += [uU][vV][vV][iI] # uvvi
@{image_ext} += [vV][bB][mM] # vtf
@{image_ext} += [wW][eE][bB][pP] # webp
@{image_ext} += [wW][mM][fF] # wmf
@{image_ext} += [xX][bB][mM] # xbm
@{image_ext} += [xX][cC][fF] # xcf
@{image_ext} += [xX][iI][fF] # xif
@{image_ext} += [xX][pP][mM] # xpm
@{image_ext} += [xX][wW][dD] # xwd
@{image_ext} += [xX][yY][zZ][eE] # xyze

# Models
@{model_ext}  = [bB][aA][rR][yY] # bary
@{model_ext} += [bB][sS][pP] # bsp
@{model_ext} += [cC][lL][dD] # cld
@{model_ext} += [dD][aA][eE] # dae
@{model_ext} += [dD][oO][rR] # dor
@{model_ext} += [dD][wW][fF] # dwf
@{model_ext} += [gG][lL][bB] # glb
@{model_ext} += [gG][lL][dD] # gld
@{model_ext} += [gG][lL][tT][fF] # gltf
@{model_ext} += [gG][sS][mM] # gsm
@{model_ext} += [gG][tT][wW] # gtw
@{model_ext} += [iI][gG][eE][sS] # iges
@{model_ext} += [iI][gG][sS] # igs
@{model_ext} += [iI][sS][mM] # ism
@{model_ext} += [jJ][tT] # jt
@{model_ext} += [lL][mM][pP] # lmp
@{model_ext} += [mM][eE][sS][hH] # mesh
@{model_ext} += [mM][oO][mM][lL] # moml
@{model_ext} += [mM][sS][hH] # msh
@{model_ext} += [mM][sS][mM] # msm
@{model_ext} += [mM][tT][lL] # mtl
@{model_ext} += [mM][tT][sS] # mts
@{model_ext} += [oO][bB][jJ] # obj
@{model_ext} += [oO][gG][eE][xX] # ogex
@{model_ext} += [pP][yY][oO] # pyo
@{model_ext} += [pP][yY][oO][xX] # pyox
@{model_ext} += [rR][sS][mM] # rsm
@{model_ext} += [sS][iI][lL][oO] # silo
@{model_ext} += [sS][tT][lL] # stl
@{model_ext} += [sS][tT][pP][xX] # stpx
@{model_ext} += [sS][tT][pP][xX][zZ] # stpxz
@{model_ext} += [uU][sS][dD][aA] # usda
@{model_ext} += [uU][sS][dD][zZ] # usdz
@{model_ext} += [uU]3[dD] # u3d
@{model_ext} += [vV][dD][sS] # vds
@{model_ext} += [vV][rR][mM][lL] # vrml
@{model_ext} += [vV][tT][uU] # vtu
@{model_ext} += [wW][iI][nN] # win
@{model_ext} += [wW][rR][lL] # wrl
@{model_ext} += [xX]_[bB] # x_b
@{model_ext} += [xX]_[tT] # x_t
@{model_ext} += [xX][mM][tT]_[bB][iI][nN] # xmt_bin
@{model_ext} += [xX][mM][tT]_[tT][xX][tT] # xmt_txt
@{model_ext} += [xX]3[dD][bB] # x3db
@{model_ext} += [xX]3[dD][vV] # x3dv
@{model_ext} += [xX]3[dD][vV][zZ] # x3dvz

# Fonts
@{font_ext}  = [tT][tT][cC] # ttc
@{font_ext} += [tT][tT][fF] # ttf
@{font_ext} += [oO][tT][fF] # otf
@{font_ext} += [wW][oO][fF] # woff
@{font_ext} += [wW][oO][fF]2 # woff2

# Documents
@{document_ext}  = [aA][dD][xX] # adx
@{document_ext} += [cC][dD][fF] # cdf
@{document_ext} += [dD][oO][cC] # doc
@{document_ext} += [dD][oO][cC][mM] # docm
@{document_ext} += [dD][oO][cC][xX] # docx
@{document_ext} += [dD][oO][tT] # dot
@{document_ext} += [dD][oO][tT][xX] # dotx
@{document_ext} += [fF][nN][iI] # fni
@{document_ext} += [fF][oO][dD][gG] # fodg
@{document_ext} += [fF][oO][dD][pP] # fodp
@{document_ext} += [fF][oO][dD][sS] # fods
@{document_ext} += [fF][oO][dD][tT] # fodt
@{document_ext} += [iI][nN][fF][oO] # info
@{document_ext} += [lL][aA][tT][eE][xX] # latex
@{document_ext} += [mM][dD][iI] # mdi
@{document_ext} += [oO][dD][bB] # odb
@{document_ext} += [oO][dD][cC] # odc
@{document_ext} += [oO][dD][fF] # odf
@{document_ext} += [oO][dD][gG] # odg
@{document_ext} += [oO][dD][iI] # odi
@{document_ext} += [oO][dD][mM] # odm
@{document_ext} += [oO][dD][pP] # odp
@{document_ext} += [oO][dD][sS] # ods
@{document_ext} += [oO][dD][tT] # odt
@{document_ext} += [oO][tT][cC] # otc
@{document_ext} += [oO][tT][fF] # otf
@{document_ext} += [oO][tT][gG] # otg
@{document_ext} += [oO][tT][hH] # oth
@{document_ext} += [oO][tT][iI] # oti
@{document_ext} += [oO][tT][pP] # otp
@{document_ext} += [oO][tT][sS] # ots
@{document_ext} += [oO][tT][tT] # ott
@{document_ext} += [oO][xX][tT] # oxt
@{document_ext} += [pP][aA][gG][eE][sS] # pages
@{document_ext} += [pP][dD][fF] # pdf
@{document_ext} += [pP][pP][tT][sS] # ppts
@{document_ext} += [pP][pP][tT][xX] # pptx
@{document_ext} += [sS][tT][cC] # stc
@{document_ext} += [sS][tT][dD] # std
@{document_ext} += [sS][tT][iI] # sti
@{document_ext} += [sS][tT][wW] # stw
@{document_ext} += [sS][xX][cC] # sxc
@{document_ext} += [sS][xX][dD] # sxd
@{document_ext} += [sS][xX][gG][sS][xX][iI] # sxgsxi
@{document_ext} += [sS][xX][mM] # sxm
@{document_ext} += [sS][xX][wW] # sxw
@{document_ext} += [tT][eE][xX] # tex
@{document_ext} += [tT][eE][xX][iI] # texi
@{document_ext} += [tT][eE][xX][iI][nN][fF][oO] # texinfo
@{document_ext} += [xX][lL][sS] # xls
@{document_ext} += [xX][lL][sS][bB] # xlsb
@{document_ext} += [xX][lL][sS][mM] # xlsm
@{document_ext} += [xX][lL][sS][xX] # xlsx
@{document_ext} += [xX][oO][dD][pP] # xodp
@{document_ext} += [xX][oO][dD][sS] # xods
@{document_ext} += [xX][oO][dD][tT] # xodt
@{document_ext} += [xX][oO][tT][pP] # xotp
@{document_ext} += [xX][oO][tT][sS] # xots
@{document_ext} += [xX][oO][tT][tT] # xott
@{document_ext} += [xX][pP][sS] # xps

# Texts
@{text_ext}  = [aA][pP][pP][cC][aA][cC][hH][eE] # appcache
@{text_ext} += [aA] # a
@{text_ext} += [aA][bB][cC] # abc
@{text_ext} += [aA][sS][cC] # asc
@{text_ext} += [aA][sS][cC][iI][iI] # ascii
@{text_ext} += [cC] # c
@{text_ext} += [cC][cC] # cc
@{text_ext} += [cC][cC][cC] # ccc
@{text_ext} += [cC][nN][dD] # cnd
@{text_ext} += [cC][oO][nN][fF] # conf
@{text_ext} += [cC][oO][pP][yY][rR][iI][gG][hH][tT] # copyright
@{text_ext} += [cC][qQ][lL] # cql
@{text_ext} += [cC][sS][sS] # css
@{text_ext} += [cC][sS][vV] # csv
@{text_ext} += [cC][sS][vV][sS] # csvs
@{text_ext} += [cC][xX][xX] # cxx
@{text_ext} += [dD][mM][sS] # dms
@{text_ext} += [dD][oO][tT] # dot
@{text_ext} += [dD][sS][cC] # dsc
@{text_ext} += [eE][lL] # el
@{text_ext} += [eE][nN][tT] # ent
@{text_ext} += [eE][tT][xX] # etx
@{text_ext} += [fF][lL][tT] # flt
@{text_ext} += [fF][lL][xX] # flx
@{text_ext} += [fF][lL][yY] # fly
@{text_ext} += [fF]90 # f90
@{text_ext} += [gG][eE][dD] # ged
@{text_ext} += [gG][fF][fF]3 # gff3
@{text_ext} += [gG][vV] # gv
@{text_ext} += [hH] # h
@{text_ext} += [hH][aA][nN][sS] # hans
@{text_ext} += [hH][gG][lL] # hgl
@{text_ext} += [hH][hH] # hh
@{text_ext} += [hH][tT][mM] # htm
@{text_ext} += [hH][tT][mM][lL] # html
@{text_ext} += [hH][xX][xX] # hxx
@{text_ext} += [iI][cC][sS] # ics
@{text_ext} += [iI][fF][bB] # ifb
@{text_ext} += [jJ][aA][dD] # jad
@{text_ext} += [jJ][sS] # js
@{text_ext} += [jJ][tT][dD] # jtd
@{text_ext} += [lL][oO][gG] # log
@{text_ext} += [mM][aA][nN][iI][fF][eE][sS][tT] # manifest
@{text_ext} += [mM][aA][rR][kK][dD][oO][wW][nN] # markdown
@{text_ext} += [mM][cC]2 # mc2
@{text_ext} += [mM][dD] # md
@{text_ext} += [mM][iI][zZ] # miz
@{text_ext} += [mM][jJ][sS] # mjs
@{text_ext} += [mM][pP][fF] # mpf
@{text_ext} += [nN]3 # n3
@{text_ext} += [pP][mM] # pm
@{text_ext} += [pP][oO][dD] # pod
@{text_ext} += [pP][rR][oO][vV][nN] # provn
@{text_ext} += [rR][nN][gG] # rng
@{text_ext} += [rR][oO][fF][fF] # roff
@{text_ext} += [rR][sS][tT] # rst
@{text_ext} += [rR][tT][xX] # rtx
@{text_ext} += [sS][aA][nN][dD][bB][oO][xX][eE][dD] # sandboxed
@{text_ext} += [sS][gG][mM] # sgm
@{text_ext} += [sS][gG][mM][lL] # sgml
@{text_ext} += [sS][hH][aA][cC][lL][cC] # shaclc
@{text_ext} += [sS][hH][cC] # shc
@{text_ext} += [sS][hH][eE][xX] # shex
@{text_ext} += [sS][iI] # si
@{text_ext} += [sS][lL] # sl
@{text_ext} += [sS][oO][aA] # soa
@{text_ext} += [sS][oO][sS] # sos
@{text_ext} += [sS][pP][dD][xX] # spdx
@{text_ext} += [sS][pP][oO] # spo
@{text_ext} += [sS][pP][oO][tT] # spot
@{text_ext} += [sS][uU][bB] # sub
@{text_ext} += [tT] # t
@{text_ext} += [tT][aA][gG] # tag
@{text_ext} += [tT][eE][xX][tT] # text
@{text_ext} += [tT][rR] # tr
@{text_ext} += [tT][sS] # ts
@{text_ext} += [tT][sS][vV] # tsv
@{text_ext} += [tT][tT][lL] # ttl
@{text_ext} += [tT][xX][tT] # txt
@{text_ext} += [uU][rR][iI] # uri
@{text_ext} += [uU][rR][iI][cC] # uric
@{text_ext} += [uU][rR][iI][sS] # uris
@{text_ext} += [vV][cC][aA][rR][dD] # vcard
@{text_ext} += [vV][cC][fF] # vcf
@{text_ext} += [vV][fF][kK] # vfk
@{text_ext} += [vV][tT][tT] # vtt
@{text_ext} += [wW][gG][sS][lL] # wgsl
@{text_ext} += [wW][mM][lL] # wml
@{text_ext} += [wW][mM][lL][sS] # wmls
@{text_ext} += [xX][mM][lL] # xml
@{text_ext} += [xX][sS][dD] # xsd
@{text_ext} += [zZ][oO][nN][eE] # zone
@{text_ext} += 3[dD][mM] # 3dm
@{text_ext} += 3[dD][mM][lL] # 3dml

# vim:syntax=apparmor
