---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "pkgs",
    default: None,
   },
   FunctionArgument {
    identifier: "lib",
    default: None,
   },
   FunctionArgument {
    identifier: "config",
    default: None,
   },
  ],
  ellipsis: true,
 },
 definition: LetIn {
  bindings: [
   Inherit(
    Some(
     Variable {
      identifier: "builtins",
      position: (3, 12),
     },
    ),
    [
     Raw {
      content: "attrNames",
      position: (3, 22),
     },
     Raw {
      content: "hasAttr",
      position: (3, 32),
     },
     Raw {
      content: "isAttrs",
      position: (3, 40),
     },
    ],
   ),
   Inherit(
    Some(
     Variable {
      identifier: "lib",
      position: (4, 12),
     },
    ),
    [
     Raw {
      content: "getLib",
      position: (4, 17),
     },
    ],
   ),
   Inherit(
    Some(
     PropertyAccess {
      expression: Variable {
       identifier: "config",
       position: (5, 12),
      },
      attribute_path: AttributePath {
       attributes: [
        Raw {
         content: "environment",
         position: (5, 19),
        },
       ],
      },
      default: None,
     },
    ),
    [
     Raw {
      content: "etc",
      position: (5, 32),
     },
    ],
   ),
   KeyValue(
    AttributePath {
     attributes: [
      Raw {
       content: "etcRule",
       position: (8, 3),
      },
     ],
    },
    Function {
     argument: Some(
      "arg",
     ),
     arguments: FunctionArguments {
      arguments: [],
      ellipsis: false,
     },
     definition: LetIn {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "go",
           position: (9, 9),
          },
         ],
        },
        Function {
         argument: None,
         arguments: FunctionArguments {
          arguments: [
           FunctionArgument {
            identifier: "trail",
            default: Some(
             String {
              parts: [],
             },
            ),
           },
           FunctionArgument {
            identifier: "mode",
            default: Some(
             String {
              parts: [
               Raw {
                content: "r",
                position: (9, 37),
               },
              ],
             },
            ),
           },
           FunctionArgument {
            identifier: "path",
            default: Some(
             Variable {
              identifier: "null",
              position: (9, 23),
             },
            ),
           },
          ],
          ellipsis: false,
         },
         definition: FunctionApplication {
          function: PropertyAccess {
           expression: Variable {
            identifier: "lib",
            position: (10, 7),
           },
           attribute_path: AttributePath {
            attributes: [
             Raw {
              content: "optionalString",
              position: (10, 11),
             },
            ],
           },
           default: None,
          },
          arguments: [
           FunctionApplication {
            function: Variable {
             identifier: "hasAttr",
             position: (10, 27),
            },
            arguments: [
             Variable {
              identifier: "path",
              position: (10, 35),
             },
             Variable {
              identifier: "etc",
              position: (10, 40),
             },
            ],
           },
           String {
            parts: [
             Expression {
              expression: Variable {
               identifier: "mode",
               position: (11, 12),
              },
             },
             Raw {
              content: " ",
              position: (11, 17),
             },
             Expression {
              expression: PropertyAccess {
               expression: Variable {
                identifier: "config",
                position: (11, 20),
               },
               attribute_path: AttributePath {
                attributes: [
                 Raw {
                  content: "environment",
                  position: (11, 27),
                 },
                 Raw {
                  content: "etc",
                  position: (11, 39),
                 },
                 Expression {
                  expression: Variable {
                   identifier: "path",
                   position: (11, 45),
                  },
                 },
                 Raw {
                  content: "source",
                  position: (11, 51),
                 },
                ],
               },
               default: None,
              },
             },
             Expression {
              expression: Variable {
               identifier: "trail",
               position: (11, 60),
              },
             },
             Raw {
              content: ",",
              position: (11, 66),
             },
            ],
           },
          ],
         },
         position: (9, 14),
        },
       ),
      ],
      target: IfThenElse {
       predicate: FunctionApplication {
        function: Variable {
         identifier: "isAttrs",
         position: (12, 11),
        },
        arguments: [
         Variable {
          identifier: "arg",
          position: (12, 19),
         },
        ],
       },
       then: FunctionApplication {
        function: Variable {
         identifier: "go",
         position: (13, 10),
        },
        arguments: [
         Variable {
          identifier: "arg",
          position: (13, 13),
         },
        ],
       },
       else_: FunctionApplication {
        function: Variable {
         identifier: "go",
         position: (14, 10),
        },
        arguments: [
         Map {
          bindings: [
           KeyValue(
            AttributePath {
             attributes: [
              Raw {
               content: "path",
               position: (14, 15),
              },
             ],
            },
            Variable {
             identifier: "arg",
             position: (14, 22),
            },
           ),
          ],
          recursive: false,
          position: (14, 13),
         },
        ],
       },
       position: (12, 8),
      },
      position: (9, 5),
     },
     position: (8, 13),
    },
   ),
  ],
  target: Map {
   bindings: [
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "config",
        position: (23, 1),
       },
       Raw {
        content: "security",
        position: (23, 8),
       },
       Raw {
        content: "apparmor",
        position: (23, 17),
       },
       Raw {
        content: "includes",
        position: (23, 26),
       },
      ],
     },
     Map {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/tunables/alias",
              position: (26, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "alias /bin -> /run/current-system/sw/bin,\nalias /lib/modules -> /run/current-system/kernel/lib/modules,\nalias /sbin -> /run/current-system/sw/sbin,\nalias /usr -> /run/current-system/sw,\n",
           position: (27, 1),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/audio",
              position: (32, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (33, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (33, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (33, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/audio\"\n",
             position: (33, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (34, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (34, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (34, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (34, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "asound.conf",
                 position: (35, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "esound/esd.conf",
                 position: (36, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "libao.conf",
                 position: (37, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (38, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pulse",
                    position: (38, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (38, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (38, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (38, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (39, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pulse",
                    position: (39, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (39, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**",
                    position: (39, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (39, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (40, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "sound",
                    position: (40, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (40, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (40, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (40, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (41, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "sound",
                    position: (41, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (41, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**",
                    position: (41, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (41, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (42, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "alsa/conf.d",
                    position: (42, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (42, 32),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (42, 41),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (42, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (43, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "alsa/conf.d",
                    position: (43, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (43, 32),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (43, 41),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (43, 7),
              },
              String {
               parts: [
                Raw {
                 content: "openal/alsoft.conf",
                 position: (44, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "wildmidi/wildmidi.conf",
                 position: (45, 8),
                },
               ],
              },
             ],
             position: (34, 47),
            },
           ],
          },
         ],
         position: (34, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/authentication",
              position: (47, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (48, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (48, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (48, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/authentication\"\n# Defined in security.pam\ninclude <abstractions/pam>\n",
             position: (48, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (51, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (51, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (51, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (51, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "nologin",
                 position: (52, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "securetty",
                 position: (53, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (54, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "security",
                    position: (54, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (54, 29),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (54, 38),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (54, 7),
              },
              String {
               parts: [
                Raw {
                 content: "shadow",
                 position: (55, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "gshadow",
                 position: (56, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "pwdb.conf",
                 position: (57, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "default/passwd",
                 position: (58, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "login.defs",
                 position: (59, 8),
                },
               ],
              },
             ],
             position: (51, 47),
            },
           ],
          },
         ],
         position: (51, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/base",
              position: (61, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (62, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (62, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (62, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/base\"\nr ",
           position: (62, 39),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (63, 9),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "stdenv",
               position: (63, 14),
              },
              Raw {
               content: "cc",
               position: (63, 21),
              },
              Raw {
               content: "libc",
               position: (63, 24),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/share/locale/**,\nr ",
           position: (63, 29),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (64, 9),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "stdenv",
               position: (64, 14),
              },
              Raw {
               content: "cc",
               position: (64, 21),
              },
              Raw {
               content: "libc",
               position: (64, 24),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/share/locale.alias,\n",
           position: (64, 29),
          },
          Expression {
           expression: FunctionApplication {
            function: PropertyAccess {
             expression: Variable {
              identifier: "lib",
              position: (65, 7),
             },
             attribute_path: AttributePath {
              attributes: [
               Raw {
                content: "optionalString",
                position: (65, 11),
               },
              ],
             },
             default: None,
            },
            arguments: [
             BinaryOperation {
              operator: NotEqualTo,
              operands: [
               PropertyAccess {
                expression: Variable {
                 identifier: "pkgs",
                 position: (65, 27),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "glibcLocales",
                   position: (65, 32),
                  },
                 ],
                },
                default: None,
               },
               Variable {
                identifier: "null",
                position: (65, 48),
               },
              ],
              position: (65, 45),
             },
             String {
              parts: [
               Raw {
                content: "r ",
                position: (65, 55),
               },
               Expression {
                expression: PropertyAccess {
                 expression: Variable {
                  identifier: "pkgs",
                  position: (65, 59),
                 },
                 attribute_path: AttributePath {
                  attributes: [
                   Raw {
                    content: "glibcLocales",
                    position: (65, 64),
                   },
                  ],
                 },
                 default: None,
                },
               },
               Raw {
                content: "/lib/locale/locale-archive,",
                position: (65, 77),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (65, 106),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (66, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "localtime",
                position: (66, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\nr ",
           position: (66, 27),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (67, 9),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "tzdata",
               position: (67, 14),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/share/zoneinfo/**,\nr ",
           position: (67, 21),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (68, 9),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "stdenv",
               position: (68, 14),
              },
              Raw {
               content: "cc",
               position: (68, 21),
              },
              Raw {
               content: "libc",
               position: (68, 24),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/share/i18n/**,\n",
           position: (68, 29),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/bash",
              position: (70, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (71, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (71, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (71, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/bash\"\n\n# bash inspects filesystems at startup\n# and /etc/mtab is linked to /proc/mounts\n@{PROC}/mounts\n\n# system-wide bash configuration\n",
             position: (71, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (78, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (78, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (78, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (78, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "profile.dos",
                 position: (79, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "profile",
                 position: (80, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "profile.d",
                 position: (81, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (82, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "profile.d",
                    position: (82, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (82, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (82, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (82, 7),
              },
              String {
               parts: [
                Raw {
                 content: "bashrc",
                 position: (83, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "bash.bashrc",
                 position: (84, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "bash.bashrc.local",
                 position: (85, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "bash_completion",
                 position: (86, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "bash_completion.d",
                 position: (87, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (88, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "bash_completion.d",
                    position: (88, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (88, 38),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (88, 47),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (88, 7),
              },
              String {
               parts: [
                Raw {
                 content: "inputrc",
                 position: (90, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "DIR_COLORS",
                 position: (92, 8),
                },
               ],
              },
             ],
             position: (78, 47),
            },
           ],
          },
         ],
         position: (78, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/consoles",
              position: (94, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (95, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (95, 17),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (95, 22),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/consoles\"\n",
           position: (95, 40),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/cups-client",
              position: (97, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (98, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (98, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (98, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/cups-client\"\n",
           position: (98, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (99, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "cups/cups-client.conf",
                position: (99, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (99, 39),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/dbus-session-strict",
              position: (101, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (102, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (102, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (102, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/dbus-session-strict\"\n",
           position: (102, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (103, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "machine-id",
                position: (103, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (103, 28),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/dconf",
              position: (105, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (106, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (106, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (106, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/dconf\"\n",
           position: (106, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (107, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (107, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "dconf",
                   position: (107, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (107, 34),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/**",
                   position: (107, 43),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (107, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (107, 51),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/dri-common",
              position: (109, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (110, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (110, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (110, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/dri-common\"\n",
           position: (110, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (111, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "drirc",
                position: (111, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (111, 23),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/fonts",
              position: (116, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (117, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (117, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (117, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/fonts\"\n",
           position: (117, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (118, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (118, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "fonts",
                   position: (118, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (118, 34),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/**",
                   position: (118, 43),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (118, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (118, 51),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/gnome",
              position: (120, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (121, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (121, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (121, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/gnome\"\ninclude <abstractions/fonts>\n",
             position: (121, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (123, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (123, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (123, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (123, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (124, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "gnome",
                    position: (124, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (124, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/gtkrc*",
                    position: (124, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (124, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (125, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "gtk",
                    position: (125, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (125, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (125, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (125, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (126, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "gtk-2.0",
                    position: (126, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (126, 28),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (126, 37),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (126, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (127, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "gtk-3.0",
                    position: (127, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (127, 28),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (127, 37),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (127, 7),
              },
              String {
               parts: [
                Raw {
                 content: "orbitrc",
                 position: (128, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (129, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pango",
                    position: (129, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (129, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (129, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (129, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (130, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/etc/gnome-vfs-2.0",
                    position: (130, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (130, 39),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/modules/",
                    position: (130, 48),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (130, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (131, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/etc/gnome-vfs-2.0",
                    position: (131, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (131, 39),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/modules/*",
                    position: (131, 48),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (131, 7),
              },
              String {
               parts: [
                Raw {
                 content: "papersize",
                 position: (132, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (133, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "cups",
                    position: (133, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (133, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/lpoptions",
                    position: (133, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (133, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (134, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "gnome",
                    position: (134, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (134, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/defaults.list",
                    position: (134, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (134, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (135, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "xdg",
                    position: (135, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (135, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/{,*-}mimeapps.list",
                    position: (135, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (135, 7),
              },
              String {
               parts: [
                Raw {
                 content: "xdg/mimeapps.list",
                 position: (136, 8),
                },
               ],
              },
             ],
             position: (123, 47),
            },
           ],
          },
         ],
         position: (123, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/kde",
              position: (138, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (139, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (139, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (139, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/kde\"\n",
             position: (139, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (140, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (140, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (140, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (140, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (141, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "qt3",
                    position: (141, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (141, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/kstylerc",
                    position: (141, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (141, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (142, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "qt3",
                    position: (142, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (142, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/qt_plugins_3.3rc",
                    position: (142, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (142, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (143, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "qt3",
                    position: (143, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (143, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/qtrc",
                    position: (143, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (143, 7),
              },
              String {
               parts: [
                Raw {
                 content: "kderc",
                 position: (144, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (145, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "kde3",
                    position: (145, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (145, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (145, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (145, 7),
              },
              String {
               parts: [
                Raw {
                 content: "kde4rc",
                 position: (146, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (147, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "xdg",
                    position: (147, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (147, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/kdeglobals",
                    position: (147, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (147, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (148, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "xdg",
                    position: (148, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (148, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/Trolltech.conf",
                    position: (148, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (148, 7),
              },
             ],
             position: (140, 47),
            },
           ],
          },
         ],
         position: (140, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/kerberosclient",
              position: (150, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (151, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (151, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (151, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/kerberosclient\"\n",
             position: (151, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (152, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (152, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (152, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (152, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (153, 7),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "krb5.keytab",
                    position: (153, 15),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "mode",
                    position: (153, 29),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "rk",
                    position: (153, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (153, 5),
              },
              String {
               parts: [
                Raw {
                 content: "krb5.conf",
                 position: (154, 6),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "krb5.conf.d",
                 position: (155, 6),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (156, 7),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "krb5.conf.d",
                    position: (156, 15),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (156, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (156, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (156, 5),
              },
              String {
               parts: [
                Raw {
                 content: "krb.conf",
                 position: (159, 6),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "krb.realms",
                 position: (160, 6),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "srvtab",
                 position: (161, 6),
                },
               ],
              },
             ],
             position: (152, 47),
            },
           ],
          },
         ],
         position: (152, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/ldapclient",
              position: (163, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (164, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (164, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (164, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/ldapclient\"\n",
             position: (164, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (165, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (165, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (165, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (165, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "ldap.conf",
                 position: (166, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "ldap.secret",
                 position: (167, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (168, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "openldap",
                    position: (168, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (168, 29),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (168, 38),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (168, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (169, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "openldap",
                    position: (169, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (169, 29),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/cacerts/*",
                    position: (169, 38),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (169, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (170, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "sasl2",
                    position: (170, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (170, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (170, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (170, 7),
              },
             ],
             position: (165, 47),
            },
           ],
          },
         ],
         position: (165, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/likewise",
              position: (172, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (173, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (173, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (173, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/likewise\"\n",
           position: (173, 39),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/mdns",
              position: (175, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (176, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (176, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (176, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/mdns\"\n",
           position: (176, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (177, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "nss_mdns.conf",
                position: (177, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (177, 31),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/nameservice",
              position: (179, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (180, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (180, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (180, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/nameservice\"\n\n# Many programs wish to perform nameservice-like operations, such as\n# looking up users by name or id, groups by name or id, hosts by name\n# or IP, etc. These operations may be performed through files, dns,\n# NIS, NIS+, LDAP, hesiod, wins, etc. Allow them all here.\nmr ",
             position: (180, 39),
            },
            Expression {
             expression: FunctionApplication {
              function: Variable {
               identifier: "getLib",
               position: (186, 10),
              },
              arguments: [
               PropertyAccess {
                expression: Variable {
                 identifier: "pkgs",
                 position: (186, 17),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "nss",
                   position: (186, 22),
                  },
                 ],
                },
                default: None,
               },
              ],
             },
            },
            Raw {
             content: "/lib/libnss_*.so*,\nmr ",
             position: (186, 26),
            },
            Expression {
             expression: FunctionApplication {
              function: Variable {
               identifier: "getLib",
               position: (187, 10),
              },
              arguments: [
               PropertyAccess {
                expression: Variable {
                 identifier: "pkgs",
                 position: (187, 17),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "nss",
                   position: (187, 22),
                  },
                 ],
                },
                default: None,
               },
              ],
             },
            },
            Raw {
             content: "/lib64/libnss_*.so*,\n",
             position: (187, 26),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (188, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (188, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (188, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (188, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "group",
                 position: (189, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "host.conf",
                 position: (190, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "hosts",
                 position: (191, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "nsswitch.conf",
                 position: (192, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "gai.conf",
                 position: (193, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "passwd",
                 position: (194, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "protocols",
                 position: (195, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "netconfig",
                 position: (198, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "resolv.conf",
                 position: (200, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (202, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "samba",
                    position: (202, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (202, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/lmhosts",
                    position: (202, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (202, 7),
              },
              String {
               parts: [
                Raw {
                 content: "services",
                 position: (203, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "default/nss",
                 position: (205, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (208, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "libnl",
                    position: (208, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (208, 26),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/classid",
                    position: (208, 35),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (208, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (209, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "libnl-3",
                    position: (209, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (209, 28),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/classid",
                    position: (209, 37),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (209, 7),
              },
             ],
             position: (188, 47),
            },
           ],
          },
         ],
         position: (188, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/nis",
              position: (211, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (212, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (212, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (212, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/nis\"\n",
           position: (212, 39),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/nvidia",
              position: (214, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (215, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (215, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (215, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/nvidia\"\n",
           position: (215, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (216, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "vdpau_wrapper.cfg",
                position: (216, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (216, 35),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/opencl-common",
              position: (218, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (219, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (219, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (219, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/opencl-common\"\n",
           position: (219, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (220, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (220, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "OpenCL",
                   position: (220, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (220, 35),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/**",
                   position: (220, 44),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (220, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (220, 52),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/opencl-mesa",
              position: (222, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (223, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (223, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (223, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/opencl-mesa\"\n",
           position: (223, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (224, 7),
            },
            arguments: [
             String {
              parts: [
               Raw {
                content: "default/drirc",
                position: (224, 16),
               },
              ],
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (224, 31),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/openssl",
              position: (226, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (227, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (227, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (227, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/openssl\"\n",
           position: (227, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (228, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (228, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "ssl",
                   position: (228, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (228, 32),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/openssl.cnf",
                   position: (228, 41),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (228, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (228, 58),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/p11-kit",
              position: (230, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (231, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (231, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (231, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/p11-kit\"\n",
             position: (231, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (232, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (232, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (232, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (232, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (233, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pkcs11",
                    position: (233, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (233, 27),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (233, 36),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (233, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (234, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pkcs11",
                    position: (234, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (234, 27),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/pkcs11.conf",
                    position: (234, 36),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (234, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (235, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pkcs11",
                    position: (235, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (235, 27),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/modules/",
                    position: (235, 36),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (235, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (236, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pkcs11",
                    position: (236, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (236, 27),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/modules/*",
                    position: (236, 36),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (236, 7),
              },
             ],
             position: (232, 47),
            },
           ],
          },
         ],
         position: (232, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/perl",
              position: (238, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (239, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (239, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (239, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/perl\"\n",
           position: (239, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (240, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (240, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "perl",
                   position: (240, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (240, 33),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/**",
                   position: (240, 42),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (240, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (240, 50),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/php",
              position: (242, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (243, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (243, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (243, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/php\"\n",
             position: (243, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (244, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (244, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (244, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (244, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (245, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php",
                    position: (245, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (245, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**/",
                    position: (245, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (245, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (246, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php5",
                    position: (246, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (246, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**/",
                    position: (246, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (246, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (247, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php7",
                    position: (247, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (247, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**/",
                    position: (247, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (247, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (248, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php",
                    position: (248, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (248, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**.ini",
                    position: (248, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (248, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (249, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php5",
                    position: (249, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (249, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**.ini",
                    position: (249, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (249, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (250, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "php7",
                    position: (250, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (250, 25),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**.ini",
                    position: (250, 34),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (250, 7),
              },
             ],
             position: (244, 47),
            },
           ],
          },
         ],
         position: (244, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/postfix-common",
              position: (252, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (253, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (253, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (253, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/postfix-common\"\n",
             position: (253, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (254, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (254, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (254, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (254, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "mailname",
                 position: (255, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (256, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "postfix",
                    position: (256, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (256, 28),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*.cf",
                    position: (256, 37),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (256, 7),
              },
              String {
               parts: [
                Raw {
                 content: "postfix/main.cf",
                 position: (257, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "postfix/master.cf",
                 position: (258, 8),
                },
               ],
              },
             ],
             position: (254, 47),
            },
           ],
          },
         ],
         position: (254, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/python",
              position: (260, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (261, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (261, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (261, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/python\"\n",
           position: (261, 39),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/qt5",
              position: (263, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (264, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (264, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (264, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/qt5\"\n",
             position: (264, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (265, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (265, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (265, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (265, 39),
            },
            List {
             elements: [
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (266, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "xdg",
                    position: (266, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (266, 24),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/QtProject/qtlogging.ini",
                    position: (266, 33),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (266, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (267, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "xdg/QtProject",
                    position: (267, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (267, 34),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/qtlogging.ini",
                    position: (267, 43),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (267, 7),
              },
              String {
               parts: [
                Raw {
                 content: "xdg/QtProject/qtlogging.ini",
                 position: (268, 8),
                },
               ],
              },
             ],
             position: (265, 47),
            },
           ],
          },
         ],
         position: (265, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/samba",
              position: (270, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (271, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (271, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (271, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/samba\"\n",
           position: (271, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (272, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (272, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "samba",
                   position: (272, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (272, 34),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/*",
                   position: (272, 43),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (272, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (272, 50),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/ssl_certs",
              position: (274, 4),
             },
            ],
           },
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          String {
           parts: [
            Raw {
             content: "include \"",
             position: (275, 1),
            },
            Expression {
             expression: PropertyAccess {
              expression: Variable {
               identifier: "pkgs",
               position: (275, 16),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "apparmor-profiles",
                 position: (275, 21),
                },
               ],
              },
              default: None,
             },
            },
            Raw {
             content: "/etc/apparmor.d/abstractions/ssl_certs\"\n\n# For the NixOS module: security.acme\nr /var/lib/acme/*/cert.pem,\nr /var/lib/acme/*/chain.pem,\nr /var/lib/acme/*/fullchain.pem,\n\n",
             position: (275, 39),
            },
           ],
          },
          FunctionApplication {
           function: PropertyAccess {
            expression: Variable {
             identifier: "lib",
             position: (282, 10),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "concatMapStringsSep",
               position: (282, 14),
              },
             ],
            },
            default: None,
           },
           arguments: [
            String {
             parts: [
              Raw {
               content: "\n",
               position: (282, 35),
              },
             ],
            },
            Variable {
             identifier: "etcRule",
             position: (282, 39),
            },
            List {
             elements: [
              String {
               parts: [
                Raw {
                 content: "ssl/certs/ca-certificates.crt",
                 position: (283, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "ssl/certs/ca-bundle.crt",
                 position: (284, 8),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "pki/tls/certs/ca-bundle.crt",
                 position: (285, 8),
                },
               ],
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (287, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "ssl/trust",
                    position: (287, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (287, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (287, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (287, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (288, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "ssl/trust",
                    position: (288, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (288, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (288, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (288, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (289, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "ssl/trust/anchors",
                    position: (289, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (289, 38),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (289, 47),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (289, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (290, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "ssl/trust/anchors",
                    position: (290, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (290, 38),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**",
                    position: (290, 47),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (290, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (291, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pki/trust",
                    position: (291, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (291, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (291, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (291, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (292, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pki/trust",
                    position: (292, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (292, 30),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/*",
                    position: (292, 39),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (292, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (293, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pki/trust/anchors",
                    position: (293, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (293, 38),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/",
                    position: (293, 47),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (293, 7),
              },
              Map {
               bindings: [
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "path",
                    position: (294, 9),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "pki/trust/anchors",
                    position: (294, 17),
                   },
                  ],
                 },
                ),
                KeyValue(
                 AttributePath {
                  attributes: [
                   Raw {
                    content: "trail",
                    position: (294, 38),
                   },
                  ],
                 },
                 String {
                  parts: [
                   Raw {
                    content: "/**",
                    position: (294, 47),
                   },
                  ],
                 },
                ),
               ],
               recursive: false,
               position: (294, 7),
              },
             ],
             position: (282, 47),
            },
           ],
          },
         ],
         position: (282, 8),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/ssl_keys",
              position: (296, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "# security.acme NixOS module\nr /var/lib/acme/*/full.pem,\nr /var/lib/acme/*/key.pem,\n",
           position: (297, 1),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/vulkan",
              position: (301, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (302, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (302, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (302, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/vulkan\"\n",
           position: (302, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (303, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (303, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "vulkan/icd.d",
                   position: (303, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (303, 41),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/",
                   position: (303, 50),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (303, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (303, 56),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (304, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (304, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "vulkan/icd.d",
                   position: (304, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (304, 41),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/*.json",
                   position: (304, 50),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (304, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (304, 62),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/winbind",
              position: (306, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (307, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (307, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (307, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/winbind\"\n",
           position: (307, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (308, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (308, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "samba",
                   position: (308, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (308, 34),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/smb.conf",
                   position: (308, 43),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (308, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (308, 57),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (309, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (309, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "samba",
                   position: (309, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (309, 34),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/dhcp.conf",
                   position: (309, 43),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (309, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (309, 58),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Expression {
           expression: String {
            parts: [
             Raw {
              content: "abstractions/X",
              position: (311, 4),
             },
            ],
           },
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "include \"",
           position: (312, 1),
          },
          Expression {
           expression: PropertyAccess {
            expression: Variable {
             identifier: "pkgs",
             position: (312, 16),
            },
            attribute_path: AttributePath {
             attributes: [
              Raw {
               content: "apparmor-profiles",
               position: (312, 21),
              },
             ],
            },
            default: None,
           },
          },
          Raw {
           content: "/etc/apparmor.d/abstractions/X\"\n",
           position: (312, 39),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (313, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (313, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "X11/cursors",
                   position: (313, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (313, 40),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/",
                   position: (313, 49),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (313, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (313, 55),
          },
          Expression {
           expression: FunctionApplication {
            function: Variable {
             identifier: "etcRule",
             position: (314, 7),
            },
            arguments: [
             Map {
              bindings: [
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (314, 17),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "X11/cursors",
                   position: (314, 25),
                  },
                 ],
                },
               ),
               KeyValue(
                AttributePath {
                 attributes: [
                  Raw {
                   content: "trail",
                   position: (314, 40),
                  },
                 ],
                },
                String {
                 parts: [
                  Raw {
                   content: "/**",
                   position: (314, 49),
                  },
                 ],
                },
               ),
              ],
              recursive: false,
              position: (314, 15),
             },
            ],
           },
          },
          Raw {
           content: "\n",
           position: (314, 57),
          },
         ],
        },
       ),
      ],
      recursive: false,
      position: (23, 37),
     },
    ),
   ],
   recursive: false,
   position: (16, 1),
  },
  position: (2, 1),
 },
 position: (1, 1),
}