XVNone Parse the javascript file and convert all DI functions that rely on variable names to use inline annotation so that the javascript can be minimized. 3DI a single argument which is a function expression 0Convert a function parameter to a string literal DCheck a directive body to see if we need to DI cleanup a controller. 5Check if a statement is a return of an object literal ,Check a property of an object for controllerParse all the javascript files. If the javascript file is a directive, the directive has a templateUrl, and there is a matching hamlet file, add the (id, hamlet file) into the return list.:Check a single javascript file to see if it is a directiveSearch for the directive ID )Parse module.directive(... function(..) {1check the function argument to the directive callACheck a statement inside the factory function for return { .. };&Check a property in the object literal    None An angular module entryEmbed the javascript and directive templates from a single directory into the static subsite as a single Angular module file. For this to work, the directive templates cannot use any hamlet variable interpolation.During development, each .js9 file is served separately (with some code to define the module variable) and at the location where the combined file would appear during production, a small script which just loads all the .jsH files from the directory is served. This makes debugging much easier.8This generator produces one variable definition of type Route EmbeddedStatic1 which is named by passing the location through .7Embed multiple angular modules into the static subsite.All subdirectories within the given directory are assumed to be angular modules, and each subdirectory is embedded by calling  on it. The subdirectory name is used for the module name. The location for the module will be the location given to this generator combined with the subdirectory name and then .js.Same as  but the directive templates are not included. Use this if your directive templates require variable/type safe route interpolation. Your directive templates should then instead be inserted into a WidgetT site IO () using ( and then embedded into the final page.Embed multiple angular modules without templates into the static subsite. All subdirectories within the given directory are assumed to be angular modules, and each subdirectory is embedded by calling  on it.Multi-module helper Create a   site IO ()~ which contains all the directive templates written in Hamlet from the passed in directory. This is only needed if you use b because your directive templates use variable/url interpolation. The template will be inside a -<script type="text/ng-template" id="someid">;, where the ID is found by parsing the javascript code for  templateUrl4. This widget must be inside the tag which has the ng-app attribute.Same as / but allows you to specify the hamlet settings.Wrap a widget in a ,<script type="text/ng-template" id="someid"> block.5Convert a hamlet file to javascript for unit testing.dWhen unit testing the Angular code, the javascript is executed directly (without any processing by ). But for the directives to work, the Hamlet templates must still be converted to javascript which inserts the template into the Angular $templateCache@. This TH splice takes a path to a hamlet file and produces a ! which contains this javascript. Before unit testing the javascript code, this TH splice must be run on every directive hamlet template. If you use  http://karma-runner.github.iokarma, the  9https://npmjs.org/package/karma-ng-hamlet2js-preprocessorkarma-ng-hamlet2js-preprocessor# does this automatically by using runghc, to run a small Haskell script which calls 8. The example application uses this karma preprocessor."#$%&'location module namedirectory for moduleincomming url to checkAngular module nameDlocation within the static subsite for the resulting javascript filedirectory on disk (relative to build directory/directory containing the .cabal file) which contains the contents of the module.minimizer such as ( or ) to use during production.Ldirectory location within the static subsite where the modules should appearsdirectory on disk (relative to build directory/directory containing the .cabal file) containing angular modules.minimizer such as ( or ) to use during production.Angular module nameDlocation within the static subsite for the resulting javascript filedirectory on disk (relative to build directory/directory containing the .cabal file) which contains the contents of the module.minimizer such as ( or ) to use during production.Ldirectory location within the static subsite where the modules should appearsdirectory on disk (relative to build directory/directory containing the .cabal file) containing angular modules.minimizer such as ( or ) to use during production.either embedAngularModule or "embedAngularModuleWithoutTemplatesLdirectory location within the static subsite where the modules should appearsdirectory on disk (relative to build directory/directory containing the .cabal file) containing angular modules.minimizer such as ( or ) to use during production.ID of the directivethe body of the template"#$%&'*      !"#$%&'()*+,-./0!"1!"231yesod-static-angular-0.1.8-8bI3HU5GODZ7Yh3FqGkCTf&Yesod.EmbeddedStatic.AngularJavascript$Yesod.EmbeddedStatic.AngularJsMangle embedNgModuleembedNgModulesembedNgModuleWithoutTemplatesembedNgModulesWithoutTemplatesdirectiveTemplatesdirectiveTemplatesWithSettingsdirectiveWidgethamletTestTemplate cleanupDIFile diFuncExprdiParamdiBodydiReturn diPropertyparseDirectiveFilesparseDirectiveFile parseDirIdparseDirectiveCall parseDirArg parseDirSt parseDirTUrl cleanupDI diTopExpr diCommaListdiPropertyListdiPropertyList' testPropName firstJustjsToListngEntry+yesod-static-1.5.1.1-Agb0A6XFJneLtT9fsPG3NMYesod.EmbeddedStatic.Generators pathToNamemulti(yesod-core-1.4.26-HwGU0uNYjCEI5LXPCObhWgYesod.Core.TypesWidgetTbytestring-0.10.8.1Data.ByteString.Lazy.Internal ByteString loadModule procTemplatetoCacheproductionModule develModuledevelExtraFilesuglifyJsjasmine