 
      
            metadata_helper.rbdig
            /Users/david/Sites/aac_browse_app/lib/aac/helpers/metadata_helper.rb in
                dig
                case obj["type"]
    
    when "ManMadeObject"
      str = get_object_title(obj)
      creator = if opts.fetch(:skip_person_name, false) 
        nil 
      else
        pull_field(obj.dig("produced_by", "carried_out_by"), only_first: true)            end
      date  = pull_field(obj.dig("produced_by", "timespan"))
      if creator || date 
        substr = [creator,date].compact.join(", ")
        str += " <span class='tombstone_artist'>(#{substr})</span>"
      end
      str
/Users/david/Sites/aac_browse_app/lib/aac/helpers/metadata_helper.rb in
                entity_label
                case obj["type"]
    
    when "ManMadeObject"
      str = get_object_title(obj)
      creator = if opts.fetch(:skip_person_name, false) 
        nil 
      else
        pull_field(obj.dig("produced_by", "carried_out_by"), only_first: true)            end
      date  = pull_field(obj.dig("produced_by", "timespan"))
      if creator || date 
        substr = [creator,date].compact.join(", ")
        str += " <span class='tombstone_artist'>(#{substr})</span>"
      end
      str
source/toyboxes/item_preview.haml in
                block in singleton class
            - uri = settings.redis.get("aac:reverse_lookup:#{id}")
- obj = JSON.parse(settings.redis.get("aac:uri:#{uri}"))["@graph"][0] rescue nil
- if obj
  .item_preview
    = display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)-else
  .item_preview
    = display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                call
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                evaluate
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb in
                evaluate
                    end
        @engine = ::Haml::TempleEngine.new(options)
        @engine.compile(data)
      end
      def evaluate(scope, locals, &block)
        raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
        super      end
      def precompiled_template(locals)
        @engine.precompiled_with_ambles(
          [],
          after_preamble: <<-RUBY
            __in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                render
                # Render the template in the given scope with the locals specified. If a
    # block is given, it is typically available within the template via
    # +yield+.
    def render(scope=nil, locals={}, &block)
      scope ||= Object.new
      current_template = Thread.current[:tilt_current_template]
      Thread.current[:tilt_current_template] = self
      evaluate(scope, locals || {}, &block)    ensure
      Thread.current[:tilt_current_template] = current_template
    end
    # The basename of the template file.
    def basename(suffix='')
      File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                render
                  options[:default_encoding] ||= settings.default_encoding
      # compile and render template
      begin
        layout_was      = @default_layout
        @default_layout = false
        template        = compile_template(engine, data, options, views)
        output          = template.render(scope, locals, &block)      ensure
        @default_layout = layout_was
      end
      # render layout
      if layout
        options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                block in render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                with_engine
                  @current_engine = :ruby
      super
    end
    # @param engine [Symbol, String] Name of Engine to shift to.
    def with_engine(engine)
      @current_engine, engine_was = engine.to_sym, @current_engine
      yield    ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                haml
                def erubis(template, options = {}, locals = {})
      warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
        "If you have Erubis installed, it will be used automatically."
      render :erubis, template, options, locals
    end
    def haml(template, options = {}, locals = {}, &block)
      render(:haml, template, options, locals, &block)    end
    def sass(template, options = {}, locals = {})
      options.merge! :layout => false, :default_content_type => :css
      render :sass, template, options, locals
    end
source/toyboxes/work_grid.haml in
                block (3 levels) in singleton class
                .container
      .row
        .col
          %h3 Objects at #{owner} (#{owners_works.count})
      .row
        - owners_works.each do |item|
          .col-2
            = haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}  source/toyboxes/work_grid.haml in
                each
            - split_works.each do |owner, owners_works|
  %section.container-fluid.toybox.featured_items
    .container
      .row
        .col
          %h3 Objects at #{owner} (#{owners_works.count})
      .row
        - owners_works.each do |item|          .col-2
            = haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}  
source/toyboxes/work_grid.haml in
                block (2 levels) in singleton class
            - split_works.each do |owner, owners_works|
  %section.container-fluid.toybox.featured_items
    .container
      .row
        .col
          %h3 Objects at #{owner} (#{owners_works.count})
      .row
        - owners_works.each do |item|          .col-2
            = haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}  
source/toyboxes/work_grid.haml in
                each
            - split_works = split_by_owner(works)
- split_works.each do |owner, owners_works|  %section.container-fluid.toybox.featured_items
    .container
      .row
        .col
          %h3 Objects at #{owner} (#{owners_works.count})
      .row
        - owners_works.each do |item|
source/toyboxes/work_grid.haml in
                block in singleton class
            - split_works = split_by_owner(works)
- split_works.each do |owner, owners_works|  %section.container-fluid.toybox.featured_items
    .container
      .row
        .col
          %h3 Objects at #{owner} (#{owners_works.count})
      .row
        - owners_works.each do |item|
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                call
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                evaluate
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb in
                evaluate
                    end
        @engine = ::Haml::TempleEngine.new(options)
        @engine.compile(data)
      end
      def evaluate(scope, locals, &block)
        raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
        super      end
      def precompiled_template(locals)
        @engine.precompiled_with_ambles(
          [],
          after_preamble: <<-RUBY
            __in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                render
                # Render the template in the given scope with the locals specified. If a
    # block is given, it is typically available within the template via
    # +yield+.
    def render(scope=nil, locals={}, &block)
      scope ||= Object.new
      current_template = Thread.current[:tilt_current_template]
      Thread.current[:tilt_current_template] = self
      evaluate(scope, locals || {}, &block)    ensure
      Thread.current[:tilt_current_template] = current_template
    end
    # The basename of the template file.
    def basename(suffix='')
      File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                render
                  options[:default_encoding] ||= settings.default_encoding
      # compile and render template
      begin
        layout_was      = @default_layout
        @default_layout = false
        template        = compile_template(engine, data, options, views)
        output          = template.render(scope, locals, &block)      ensure
        @default_layout = layout_was
      end
      # render layout
      if layout
        options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                block in render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                with_engine
                  @current_engine = :ruby
      super
    end
    # @param engine [Symbol, String] Name of Engine to shift to.
    def with_engine(engine)
      @current_engine, engine_was = engine.to_sym, @current_engine
      yield    ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                haml
                def erubis(template, options = {}, locals = {})
      warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
        "If you have Erubis installed, it will be used automatically."
      render :erubis, template, options, locals
    end
    def haml(template, options = {}, locals = {}, &block)
      render(:haml, template, options, locals, &block)    end
    def sass(template, options = {}, locals = {})
      options.merge! :layout => false, :default_content_type => :css
      render :sass, template, options, locals
    end
source/templates/actor.html.haml in
                block in singleton class
                      %h3="Selected Images of #{get_actor_name(obj)}"
      .row.align-items-center
        - [obj["depicted_by"]].flatten(1).first(6).each do |item|
          .col-2
            = haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}  
- if obj["toybox:created_by"]
  = haml "toyboxes/work_grid".to_sym, layout: false, locals: {works: obj["toybox:created_by"], title: "Objects Created by #{obj["label"].first}"}
- if obj["toybox:featured_items"]
  %section.container-fluid.toybox.featured_items
    .container
      .row
        .col
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                call
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                evaluate
                #
    # This method is only used by source generating templates. Subclasses that
    # override render() may not support all features.
    def evaluate(scope, locals, &block)
      locals_keys = locals.keys
      locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
      method = compiled_method(locals_keys)
      method.bind(scope).call(locals, &block)    end
    # Generates all template source by combining the preamble, template, and
    # postamble and returns a two-tuple of the form: [source, offset], where
    # source is the string containing (Ruby) source code for the template and
    # offset is the integer line offset where line reporting should begin.
    #
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb in
                evaluate
                    end
        @engine = ::Haml::TempleEngine.new(options)
        @engine.compile(data)
      end
      def evaluate(scope, locals, &block)
        raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
        super      end
      def precompiled_template(locals)
        @engine.precompiled_with_ambles(
          [],
          after_preamble: <<-RUBY
            __in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb in
                render
                # Render the template in the given scope with the locals specified. If a
    # block is given, it is typically available within the template via
    # +yield+.
    def render(scope=nil, locals={}, &block)
      scope ||= Object.new
      current_template = Thread.current[:tilt_current_template]
      Thread.current[:tilt_current_template] = self
      evaluate(scope, locals || {}, &block)    ensure
      Thread.current[:tilt_current_template] = current_template
    end
    # The basename of the template file.
    def basename(suffix='')
      File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                render
                  options[:default_encoding] ||= settings.default_encoding
      # compile and render template
      begin
        layout_was      = @default_layout
        @default_layout = false
        template        = compile_template(engine, data, options, views)
        output          = template.render(scope, locals, &block)      ensure
        @default_layout = layout_was
      end
      # render layout
      if layout
        options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                block in render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                with_engine
                  @current_engine = :ruby
      super
    end
    # @param engine [Symbol, String] Name of Engine to shift to.
    def with_engine(engine)
      @current_engine, engine_was = engine.to_sym, @current_engine
      yield    ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb in
                render
                ensure
      @current_engine = engine_was
    end
    private
    def render(engine, *)
      with_engine(engine) { super }    end
  end
  helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                haml
                def erubis(template, options = {}, locals = {})
      warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
        "If you have Erubis installed, it will be used automatically."
      render :erubis, template, options, locals
    end
    def haml(template, options = {}, locals = {}, &block)
      render(:haml, template, options, locals, &block)    end
    def sass(template, options = {}, locals = {})
      options.merge! :layout => false, :default_content_type => :css
      render :sass, template, options, locals
    end
/Users/david/Sites/aac_browse_app/source/app.rb in
                block in <class:AmericanArtCollaborativeSite>
            
    when "html", nil
      raw_data = JSON.parse(file)
      data = raw_data["@graph"].first
      @context = raw_data["@context"]
      case data["type"]
      when "Actor", ["LegalBody", "Actor"], ["Actor", "LegalBody"], ["Person", "Actor"], ["Actor", "Person"]
        haml :"templates/actor.html", locals: {obj: data}      when "ManMadeObject"
        haml :"templates/object.html", locals: {obj: data}
      else
        "Haven't written a parser for #{data["type"]} yet. #{data}"
      end
    else
      params[:captures].inspect
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call
                    options.each_pair { |option, args| send(option, *args) }
        pattern                 = compile(path, route_mustermann_opts)
        method_name             = "#{verb} #{path}"
        unbound_method          = generate_method(method_name, &block)
        conditions, @conditions = @conditions, []
        wrapper                 = block.arity != 0 ?
          proc { |a, p| unbound_method.bind(a).call(*p) } :          proc { |a, p| unbound_method.bind(a).call }
        [ pattern, conditions, wrapper ]
      end
      def compile(path, route_mustermann_opts = {})
        Mustermann.new(path, mustermann_opts.merge(route_mustermann_opts))
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in compile!
                    options.each_pair { |option, args| send(option, *args) }
        pattern                 = compile(path, route_mustermann_opts)
        method_name             = "#{verb} #{path}"
        unbound_method          = generate_method(method_name, &block)
        conditions, @conditions = @conditions, []
        wrapper                 = block.arity != 0 ?
          proc { |a, p| unbound_method.bind(a).call(*p) } :          proc { |a, p| unbound_method.bind(a).call }
        [ pattern, conditions, wrapper ]
      end
      def compile(path, route_mustermann_opts = {})
        Mustermann.new(path, mustermann_opts.merge(route_mustermann_opts))
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block (3 levels) in route!
            
    # Run routes defined on the class and all superclasses.
    def route!(base = settings, pass_block = nil)
      if routes = base.routes[@request.request_method]
        routes.each do |pattern, conditions, block|
          returned_pass_block = process_route(pattern, conditions) do |*args|
            env['sinatra.route'] = "#{@request.request_method} #{pattern}"
            route_eval { block[*args] }          end
          # don't wipe out pass_block in superclass
          pass_block = returned_pass_block if returned_pass_block
        end
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                route_eval
            
      route_eval(&pass_block) if pass_block
      route_missing
    end
    # Run a route block and throw :halt with the result.
    def route_eval
      throw :halt, yield    end
    # If the current request matches pattern and conditions, fill params
    # with keys and call the given block.
    # Revert params afterwards.
    #
    # Returns pass block.
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block (2 levels) in route!
            
    # Run routes defined on the class and all superclasses.
    def route!(base = settings, pass_block = nil)
      if routes = base.routes[@request.request_method]
        routes.each do |pattern, conditions, block|
          returned_pass_block = process_route(pattern, conditions) do |*args|
            env['sinatra.route'] = "#{@request.request_method} #{pattern}"
            route_eval { block[*args] }          end
          # don't wipe out pass_block in superclass
          pass_block = returned_pass_block if returned_pass_block
        end
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in process_route
                    @params[:captures] = captures
      else
        values += params.values.flatten
      end
      catch(:pass) do
        conditions.each { |c| throw :pass if c.bind(self).call == false }
        block ? block[self, values] : yield(self, values)      end
    rescue
      @env['sinatra.error.params'] = @params
      raise
    ensure
      @params = original if original
    end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                catch
                    captures           = pattern.match(route).captures
        values            += captures
        @params[:captures] = captures
      else
        values += params.values.flatten
      end
      catch(:pass) do        conditions.each { |c| throw :pass if c.bind(self).call == false }
        block ? block[self, values] : yield(self, values)
      end
    rescue
      @env['sinatra.error.params'] = @params
      raise
    ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                process_route
                    captures           = pattern.match(route).captures
        values            += captures
        @params[:captures] = captures
      else
        values += params.values.flatten
      end
      catch(:pass) do        conditions.each { |c| throw :pass if c.bind(self).call == false }
        block ? block[self, values] : yield(self, values)
      end
    rescue
      @env['sinatra.error.params'] = @params
      raise
    ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in route!
                  base.filters[type].each { |args| process_route(*args) }
    end
    # Run routes defined on the class and all superclasses.
    def route!(base = settings, pass_block = nil)
      if routes = base.routes[@request.request_method]
        routes.each do |pattern, conditions, block|
          returned_pass_block = process_route(pattern, conditions) do |*args|            env['sinatra.route'] = "#{@request.request_method} #{pattern}"
            route_eval { block[*args] }
          end
          # don't wipe out pass_block in superclass
          pass_block = returned_pass_block if returned_pass_block
        end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                each
                  filter! type, base.superclass if base.superclass.respond_to?(:filters)
      base.filters[type].each { |args| process_route(*args) }
    end
    # Run routes defined on the class and all superclasses.
    def route!(base = settings, pass_block = nil)
      if routes = base.routes[@request.request_method]
        routes.each do |pattern, conditions, block|          returned_pass_block = process_route(pattern, conditions) do |*args|
            env['sinatra.route'] = "#{@request.request_method} #{pattern}"
            route_eval { block[*args] }
          end
          # don't wipe out pass_block in superclass
          pass_block = returned_pass_block if returned_pass_block
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                route!
                  filter! type, base.superclass if base.superclass.respond_to?(:filters)
      base.filters[type].each { |args| process_route(*args) }
    end
    # Run routes defined on the class and all superclasses.
    def route!(base = settings, pass_block = nil)
      if routes = base.routes[@request.request_method]
        routes.each do |pattern, conditions, block|          returned_pass_block = process_route(pattern, conditions) do |*args|
            env['sinatra.route'] = "#{@request.request_method} #{pattern}"
            route_eval { block[*args] }
          end
          # don't wipe out pass_block in superclass
          pass_block = returned_pass_block if returned_pass_block
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in dispatch!
                # Dispatch a request with error handling.
    def dispatch!
      force_encoding(@params.merge!(@request.params))
      invoke do
        static! if settings.static? && (request.get? || request.head?)
        filter! :before
        route!      end
    rescue ::Exception => boom
      invoke { handle_exception!(boom) }
    ensure
      begin
        filter! :after unless env['sinatra.static_file']
      rescue ::Exception => boom
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in invoke
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                catch
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                invoke
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                dispatch!
                  nil # avoid double setting the same response tuple twice
    end
    # Dispatch a request with error handling.
    def dispatch!
      force_encoding(@params.merge!(@request.params))
      invoke do        static! if settings.static? && (request.get? || request.head?)
        filter! :before
        route!
      end
    rescue ::Exception => boom
      invoke { handle_exception!(boom) }
    ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in call!
                  @env      = env
      @params   = IndifferentHash.new
      @request  = Request.new(env)
      @response = Response.new
      template_cache.clear if settings.reload_templates
      @response['Content-Type'] = nil
      invoke { dispatch! }      invoke { error_block!(response.status) } unless @env['sinatra.error']
      unless @response['Content-Type']
        if Array === body and body[0].respond_to? :content_type
          content_type body[0].content_type
        else
          content_type :html
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in invoke
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                catch
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                invoke
                  env['sinatra.static_file'] = path
      cache_control(*settings.static_cache_control) if settings.static_cache_control?
      send_file path, options.merge(:disposition => nil)
    end
    # Run the block with 'throw :halt' support and apply result to the response.
    def invoke
      res = catch(:halt) { yield }
      res = [res] if Integer === res or String === res
      if Array === res and Integer === res.first
        res = res.dup
        status(res.shift)
        body(res.pop)
        headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call!
                  @env      = env
      @params   = IndifferentHash.new
      @request  = Request.new(env)
      @response = Response.new
      template_cache.clear if settings.reload_templates
      @response['Content-Type'] = nil
      invoke { dispatch! }      invoke { error_block!(response.status) } unless @env['sinatra.error']
      unless @response['Content-Type']
        if Array === body and body[0].respond_to? :content_type
          content_type body[0].content_type
        else
          content_type :html
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call
                  @app = app
      @template_cache = Tilt::Cache.new
      yield self if block_given?
    end
    # Rack call interface.
    def call(env)
      dup.call!(env)    end
    def call!(env) # :nodoc:
      @env      = env
      @params   = IndifferentHash.new
      @request  = Request.new(env)
      @response = Response.new
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/xss_header.rb in
                call
                #
    # Options:
    # xss_mode:: How the browser should prevent the attack (default: :block)
    class XSSHeader < Base
      default_options :xss_mode => :block, :nosniff => true
      def call(env)
        status, headers, body = @app.call(env)        headers['X-XSS-Protection']       ||= "1; mode=#{options[:xss_mode]}" if html? headers
        headers['X-Content-Type-Options'] ||= 'nosniff'                       if options[:nosniff]
        [status, headers, body]
      end
    end
  end
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/path_traversal.rb in
                call
                #
    # Unescapes '/' and '.', expands +path_info+.
    # Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
    class PathTraversal < Base
      def call(env)
        path_was         = env["PATH_INFO"]
        env["PATH_INFO"] = cleanup path_was if path_was && !path_was.empty?
        app.call env      ensure
        env["PATH_INFO"] = path_was
      end
      def cleanup(path)
        if path.respond_to?(:encoding)
          # Ruby 1.9+ M17N
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/json_csrf.rb in
                call
                class JsonCsrf < Base
      default_options :allow_if => nil
      alias react deny
      def call(env)
        request               = Request.new(env)
        status, headers, body = app.call(env)
        if has_vector?(request, headers)
          warn env, "attack prevented by #{self.class}"
          react_and_close(env, body) or [status, headers, body]
        else
          [status, headers, body]
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb in
                call
                  end
      def call(env)
        unless accepts? env
          instrument env
          result = react env
        end
        result or app.call(env)      end
      def react(env)
        result = send(options[:reaction], env)
        result if Array === result and result.size == 3
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb in
                call
                  end
      def call(env)
        unless accepts? env
          instrument env
          result = react env
        end
        result or app.call(env)      end
      def react(env)
        result = send(options[:reaction], env)
        result if Array === result and result.size == 3
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/lib/rack/protection/frame_options.rb in
                call
                      frame_options = options[:frame_options]
          frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
          frame_options.to_str
        end
      end
      def call(env)
        status, headers, body        = @app.call(env)        headers['X-Frame-Options'] ||= frame_options if html? headers
        [status, headers, body]
      end
    end
  end
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-2.0.4/lib/rack/null_logger.rb in
                call
              class NullLogger
    def initialize(app)
      @app = app
    end
    def call(env)
      env[RACK_LOGGER] = self
      @app.call(env)    end
    def info(progname = nil, &block); end
    def debug(progname = nil, &block); end
    def warn(progname = nil, &block); end
    def error(progname = nil, &block); end
    def fatal(progname = nil, &block); end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-2.0.4/lib/rack/head.rb in
                call
              # all other requests unchanged.
  class Head
    def initialize(app)
      @app = app
    end
    def call(env)
      status, headers, body = @app.call(env)
      if env[REQUEST_METHOD] == HEAD
        [
          status, headers, Rack::BodyProxy.new([]) do
            body.close if body.respond_to? :close
          end
        ]
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/show_exceptions.rb in
                call
                def @@eats_errors.puts(*) end
    def initialize(app)
      @app = app
    end
    def call(env)
      @app.call(env)    rescue Exception => e
      errors, env["rack.errors"] = env["rack.errors"], @@eats_errors
      if prefers_plain_text?(env)
        content_type = "text/plain"
        body = dump_exception(e)
      else
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call
              # Some Rack handlers (Thin, Rainbows!) implement an extended body object protocol, however,
  # some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
  # This middleware will detect an extended body object and will make sure it reaches the
  # handler directly. We do this here, so our middleware and middleware set up by the app will
  # still be able to run.
  class ExtendedRack < Struct.new(:app)
    def call(env)
      result, callback = app.call(env), env['async.callback']      return result unless callback and async?(*result)
      after_response { callback.call result }
      setup_close(env, *result)
      throw :async
    end
    private
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call
                end
    def helpers
      @instance
    end
    def call(env)
      @stack.call(env)    end
    def inspect
      "#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
    end
  end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                block in call
                    setup_default_middleware builder
        setup_middleware builder
        builder.run app
        builder
      end
      def call(env)
        synchronize { prototype.call(env) }      end
      # Like Kernel#caller but excluding certain magic entries and without
      # line / method information; the resulting array contains filenames only.
      def caller_files
        cleaned_caller(1).flatten
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                synchronize
                  end
      @@mutex = Mutex.new
      def synchronize(&block)
        if lock?
          @@mutex.synchronize(&block)
        else
          yield        end
      end
      # used for deprecation warnings
      def warn(message)
        super message + "\n\tfrom #{cleaned_caller.first.join(':')}"
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb in
                call
                    setup_default_middleware builder
        setup_middleware builder
        builder.run app
        builder
      end
      def call(env)
        synchronize { prototype.call(env) }      end
      # Like Kernel#caller but excluding certain magic entries and without
      # line / method information; the resulting array contains filenames only.
      def caller_files
        cleaned_caller(1).flatten
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-cors-1.0.2/lib/rack/cors.rb in
                call
                  end
      # This call must be done BEFORE calling the app because for some reason
      # env[PATH_INFO] gets changed after that and it won't match. (At least
      # in rails 4.1.6)
      vary_resource = resource_for_path(env[PATH_INFO])
      status, headers, body = @app.call env
      if add_headers
        headers = add_headers.merge(headers)
        debug(env) do
          add_headers.each_pair do |key, value|
            if headers.has_key?(key)
              headers["X-Rack-CORS-Original-#{key}"] = value
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/configuration.rb in
                call
                  def initialize(config, app)
        @config = config
        @app = app
      end
      def call(env)
        env[Const::PUMA_CONFIG] = @config
        @app.call(env)      end
    end
    # Indicate if there is a properly configured app
    #
    def app_configured?
      @options[:app] || File.exist?(rackup)
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.rb in
                handle_request
                  # A rack extension. If the app writes #call'ables to this
      # array, we will invoke them when the request is done.
      #
      after_reply = env[RACK_AFTER_REPLY] = []
      begin
        begin
          status, headers, res_body = @app.call(env)
          return :async if req.hijacked
          status = status.to_i
          if status == -1
            unless headers.empty? and res_body == []
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.rb in
                process_client
                def process_client(client, buffer)
      begin
        clean_thread_locals = @options[:clean_thread_locals]
        close_socket = true
        while true
          case handle_request(client, buffer)          when false
            return
          when :async
            close_socket = false
            return
          when true
            return unless @queue_requests
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.rb in
                block in run
                      client.close
          @events.parse_error self, client.env, e
        rescue ConnectionError, EOFError
          client.close
        else
          if process_now
            process_client client, buffer          else
            client.set_timeout @first_data_timeout
            @reactor.add client
          end
        end
      end
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/thread_pool.rb in
                block in spawn_thread
                      break unless continue
          if @clean_thread_locals
            ThreadPool.clean_thread_locals
          end
          begin
            block.call(work, *extra)          rescue Exception => e
            STDERR.puts "Error reached top of thread-pool: #{e.message} (#{e.class})"
          end
        end
        mutex.synchronize do
          @spawned -= 1
| Variable | Value | 
|---|---|
| production | "true" | 
No POST data.
| Variable | Value | 
|---|---|
| GATEWAY_INTERFACE | CGI/1.2 | 
| HTTP_ACCEPT | */* | 
| HTTP_HOST | localhost:5000 | 
| HTTP_USER_AGENT | Typhoeus - https://github.com/typhoeus/typhoeus | 
| HTTP_VERSION | HTTP/1.1 | 
| PATH_INFO | /actor/ulan/500021991.html | 
| QUERY_STRING | production=true | 
| REMOTE_ADDR | 127.0.0.1 | 
| REQUEST_METHOD | GET | 
| REQUEST_PATH | /actor/ulan/500021991.html | 
| REQUEST_URI | /actor/ulan/500021991.html?production=true | 
| SCRIPT_NAME | |
| SERVER_NAME | localhost | 
| SERVER_PORT | 5000 | 
| SERVER_PROTOCOL | HTTP/1.1 | 
| SERVER_SOFTWARE | puma 3.11.3 Love Song | 
| puma.config | #<Puma::Configuration:0x00007f9dfe83b528 @options=#<Puma::UserFileDefaultOptions:0x00007f9dfe83b078 @user_options={:environment=>"development", :logger=>#<Puma::Events:0x00007f9dfe83b780 @formatter=#<Puma::Events::PidFormatter:0x00007f9dfc912e58>, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @hooks={:state=>[]}>}, @file_options={:config_files=>["config/puma.rb"], :workers=>2, :min_threads=>5, :max_threads=>5, :preload_app=>true, :rackup=>"config.ru", :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @default_options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"aac_browse_app", :environment=>"development", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30}>, @plugins=#<Puma::PluginLoader:0x00007f9dfe83af10 @instances=[]>, @user_dsl=#<Puma::DSL:0x00007f9dfe83ad58 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:environment=>"development", :logger=>#<Puma::Events:0x00007f9dfe83b780 @formatter=#<Puma::Events::PidFormatter:0x00007f9dfc912e58>, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @hooks={:state=>[]}>}, @plugins=[]>, @file_dsl=#<Puma::DSL:0x00007f9dfe83abf0 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:config_files=>["config/puma.rb"], :workers=>2, :min_threads=>5, :max_threads=>5, :preload_app=>true, :rackup=>"config.ru", :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @plugins=[], @path="config/puma.rb">, @default_dsl=#<Puma::DSL:0x00007f9dfe83ab50 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"aac_browse_app", :environment=>"development", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30}, @plugins=[]>> | 
| puma.socket | #<TCPSocket:fd 14, AF_INET, 127.0.0.1, 5000> | 
| rack.after_reply | [] | 
| rack.cors | #<Rack::Cors::Result:0x00007f9dfcb17280 @preflight=false, @hit=false, @miss_reason="no-origin"> | 
| rack.errors | #<Object:0x00007f9dfc921e80> | 
| rack.hijack | #<Puma::Client:0x3fcf01253b94 @ready=true> | 
| rack.hijack? | true | 
| rack.input | #<Puma::NullIO:0x00007f9dfd88db30> | 
| rack.logger | #<Rack::NullLogger:0x00007f9dfe8d1be0 @app=#<Rack::Protection::FrameOptions:0x00007f9dfe8d1fa0 @app=#<Rack::Protection::HttpOrigin:0x00007f9dfe8d22c0 @app=#<Rack::Protection::IPSpoofing:0x00007f9dfe8d28b0 @app=#<Rack::Protection::JsonCsrf:0x00007f9dfe8d2978 @app=#<Rack::Protection::PathTraversal:0x00007f9dfe8d2bd0 @app=#<Rack::Protection::XSSHeader:0x00007f9dfe8d2d38 @app=#<AmericanArtCollaborativeSite:0x00007f9dfe14ec10 @current_engine=:ruby, @default_layout=:layout, @preferred_extension=nil, @app=nil, @template_cache=#<Tilt::Cache:0x00007f9dfe14ead0 @cache={[:haml, :"templates/actor.html", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9e058eb048 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/templates/actor.html.haml", @compiled_method={[:obj]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283022580>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9e058eae90@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- content_for :title_text do\n  = get_actor_name(obj)\n  \n%section.container.main_content\n  \n  %header\n    %h2= get_actor_name(obj)\n    -if val = display_value(obj[\"contact_point\"], field: \"value\")\n      .address.secondary=val\n\n  .row\n    .col-md-6\n      -if bio = get_actor_bio(obj)\n        %p= bio\n      -if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n        %p= display_value(bio, keep_newlines: true) \n      -if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n        %h5 About the Dataset\n        %p= display_value(bio, keep_newlines: true) \n\n    .col-md-5.offset-md-1\n\n      // Instititution-specific section\n      - if obj[\"schema:logo\"]\n        %section.row\n          - if val = obj[\"schema:logo\"]\n            .col-12.text-center.logo_lockup\n              =image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n          - if obj[\"toybox:related_artwork_count\"]\n            .col.stat.text-center\n              \#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\n              .stat_label Items\n          - if obj[\"toybox:related_artist_count\"]\n            .col.stat.text-center\n              \#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\n              .stat_label Creators\n          - if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n            .col.stat.text-center\n              \#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} — \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\n              .stat_label Date Range\n      \n      .metadata\n        %dl.row<\n          =list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n          =list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n          =list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n          =list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n          =list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n          =list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n          =list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n        - if obj[\"toybox:related_actors\"]\n          = haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n        %dl.row<\n          =list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n          =list_item \"Linked Data URI\",  external_link_to(obj[\"id\"])\n          =list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n          - json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n          =list_item \"View LOD\",   [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \"  \", pluralize: false\n \n        // This is an alternate option for the first toybox.\n        - if obj.dig(\"depicted_by\") && false\n          %dl.row<\n            =list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n \n\n- if obj[\"depicted_by\"]\n  %section.container-fluid.toybox.featured_items\n    .container\n      .row\n        .col\n          %h3=\"Selected Images of \#{get_actor_name(obj)}\"\n      .row.align-items-center\n        - [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n          .col-2\n            = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}  \n\n- if obj[\"toybox:created_by\"]\n  = haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n\n\n- if obj[\"toybox:featured_items\"]\n  %section.container-fluid.toybox.featured_items\n    .container\n      .row\n        .col\n          %h3 Featured Objects\n      .row.align-items-center\n        - obj[\"toybox:featured_items\"].first(12).each do |item|\n          .col-2\n            = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}  \n\n- if obj[\"toybox:most_common_artists\"]\n  %section.container-fluid.toybox.featured_items\n    .container\n      .row\n        .col\n          %h3 Most Common Creators\n      .row.align-items-center\n        - obj[\"toybox:most_common_artists\"].first(6).each do |item|\n          - id = item[\"toybox:common_artist\"][\"id\"]\n          - uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n          - common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n          - if common_artist\n            .col-2\n              - count = item[\"toybox:common_artist_count\"][\"@value\"]\n              - caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n              .item_preview\n                = display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n\n\n:javascript\n  console.log(\#{obj.to_json});\n\n\n", @engine=#<Haml::TempleEngine:0x00007f9e058eada0 @options=#<Temple::ImmutableMap:0x00007f9e058ea6c0 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/templates/actor.html.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9e058ea508 @options=#<Haml::Options:0x00007f9e058ea4b8 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/templates/actor.html.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
  (silent_script {:text=>" content_for :title_text do", :keyword=>nil}
    (script {:text=>" get_actor_name(obj)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
  (tag {:name=>"section", :attributes=>{"class"=>"container main_content"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
    (tag {:name=>"header", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"h2", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"get_actor_name(obj)"})
      (silent_script {:text=>"if val = display_value(obj[\"contact_point\"], field: \"value\")", :keyword=>"if"}
        (tag {:name=>"div", :attributes=>{"class"=>"address secondary"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"val"})))
    (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"col-md-6"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (silent_script {:text=>"if bio = get_actor_bio(obj)", :keyword=>"if"}
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"bio"}))
        (silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")", :keyword=>"if"}
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"}))
        (silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")", :keyword=>"if"}
          (tag {:name=>"h5", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"About the Dataset"})
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"})))
      (tag {:name=>"div", :attributes=>{"class"=>"col-md-5 offset-md-1"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (comment {:conditional=>nil, :text=>"/ Instititution-specific section", :revealed=>false, :parse=>false})
        (silent_script {:text=>" if obj[\"schema:logo\"]", :keyword=>"if"}
          (tag {:name=>"section", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (silent_script {:text=>" if val = obj[\"schema:logo\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col-12 text-center logo_lockup"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'", :escape_html=>false, :preserve=>false, :keyword=>nil})))
            (silent_script {:text=>" if obj[\"toybox:related_artwork_count\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Items"})))
            (silent_script {:text=>" if obj[\"toybox:related_artist_count\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Creators"})))
            (silent_script {:text=>" if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Date Range"})))))
        (tag {:name=>"div", :attributes=>{"class"=>"metadata"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (script {:text=>"list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (silent_script {:text=>" if obj[\"toybox:related_actors\"]", :keyword=>"if"}
            (script {:text=>" haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (script {:text=>"list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Linked Data URI\",  external_link_to(obj[\"id\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (silent_script {:text=>" json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")", :keyword=>nil})
            (script {:text=>"list_item \"View LOD\",   [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \"  \", pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (comment {:conditional=>nil, :text=>"/ This is an alternate option for the first toybox.", :revealed=>false, :parse=>false})
          (silent_script {:text=>" if obj.dig(\"depicted_by\") && false", :keyword=>"if"}
            (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>"list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"depicted_by\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Selected Images of \#{get_actor_name(obj)}\""})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"toybox:created_by\"]", :keyword=>"if"}
    (script {:text=>" haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
  (silent_script {:text=>" if obj[\"toybox:featured_items\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Featured Objects"})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" obj[\"toybox:featured_items\"].first(12).each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"toybox:most_common_artists\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Most Common Creators"})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" obj[\"toybox:most_common_artists\"].first(6).each do |item|", :keyword=>nil}
            (silent_script {:text=>" id = item[\"toybox:common_artist\"][\"id\"]", :keyword=>nil})
            (silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
            (silent_script {:text=>" common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
            (silent_script {:text=>" if common_artist", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (silent_script {:text=>" count = item[\"toybox:common_artist_count\"][\"@value\"]", :keyword=>nil})
                (silent_script {:text=>" caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"", :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                  (script {:text=>" display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))))
  (filter {:name=>"javascript", :text=>"console.log(\#{obj.to_json});\n"})), @root=(root nil
  (silent_script {:text=>" content_for :title_text do", :keyword=>nil}
    (script {:text=>" get_actor_name(obj)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
  (tag {:name=>"section", :attributes=>{"class"=>"container main_content"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
    (tag {:name=>"header", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"h2", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"get_actor_name(obj)"})
      (silent_script {:text=>"if val = display_value(obj[\"contact_point\"], field: \"value\")", :keyword=>"if"}
        (tag {:name=>"div", :attributes=>{"class"=>"address secondary"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"val"})))
    (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"col-md-6"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (silent_script {:text=>"if bio = get_actor_bio(obj)", :keyword=>"if"}
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"bio"}))
        (silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")", :keyword=>"if"}
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"}))
        (silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")", :keyword=>"if"}
          (tag {:name=>"h5", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"About the Dataset"})
          (tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"})))
      (tag {:name=>"div", :attributes=>{"class"=>"col-md-5 offset-md-1"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (comment {:conditional=>nil, :text=>"/ Instititution-specific section", :revealed=>false, :parse=>false})
        (silent_script {:text=>" if obj[\"schema:logo\"]", :keyword=>"if"}
          (tag {:name=>"section", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (silent_script {:text=>" if val = obj[\"schema:logo\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col-12 text-center logo_lockup"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'", :escape_html=>false, :preserve=>false, :keyword=>nil})))
            (silent_script {:text=>" if obj[\"toybox:related_artwork_count\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Items"})))
            (silent_script {:text=>" if obj[\"toybox:related_artist_count\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Creators"})))
            (silent_script {:text=>" if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (script {:text=>"\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Date Range"})))))
        (tag {:name=>"div", :attributes=>{"class"=>"metadata"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (script {:text=>"list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (silent_script {:text=>" if obj[\"toybox:related_actors\"]", :keyword=>"if"}
            (script {:text=>" haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (script {:text=>"list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"Linked Data URI\",  external_link_to(obj[\"id\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (script {:text=>"list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
            (silent_script {:text=>" json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")", :keyword=>nil})
            (script {:text=>"list_item \"View LOD\",   [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \"  \", pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))
          (comment {:conditional=>nil, :text=>"/ This is an alternate option for the first toybox.", :revealed=>false, :parse=>false})
          (silent_script {:text=>" if obj.dig(\"depicted_by\") && false", :keyword=>"if"}
            (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>"list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"depicted_by\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Selected Images of \#{get_actor_name(obj)}\""})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"toybox:created_by\"]", :keyword=>"if"}
    (script {:text=>" haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
  (silent_script {:text=>" if obj[\"toybox:featured_items\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Featured Objects"})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" obj[\"toybox:featured_items\"].first(12).each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
  (silent_script {:text=>" if obj[\"toybox:most_common_artists\"]", :keyword=>"if"}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Most Common Creators"})))
        (tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" obj[\"toybox:most_common_artists\"].first(6).each do |item|", :keyword=>nil}
            (silent_script {:text=>" id = item[\"toybox:common_artist\"][\"id\"]", :keyword=>nil})
            (silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
            (silent_script {:text=>" common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
            (silent_script {:text=>" if common_artist", :keyword=>"if"}
              (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                (silent_script {:text=>" count = item[\"toybox:common_artist_count\"][\"@value\"]", :keyword=>nil})
                (silent_script {:text=>" caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"", :keyword=>nil})
                (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
                  (script {:text=>" display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))))
  (filter {:name=>"javascript", :text=>"console.log(\#{obj.to_json});\n"})), @flat=false, @filter_buffer=nil, @indentation="  ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=112, parser=#<Haml::Parser:0x00007f9e058ea508 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=112, parser=#<Haml::Parser:0x00007f9e058ea508 ...>, eod=true>, @tab_up=nil, @flat_spaces=nil>, #<Haml::Compiler:0x00007f9e058e9338 @options=#<Haml::Options:0x00007f9e058e9310 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/templates/actor.html.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " content_for :title_text do\n"], [:dynamic, "( get_actor_name(obj)\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "<section"], [:newline], [:multi, [:static, " class='container main_content'"]], [:static, ">\n"], [:static, "<header"], [:newline], [:newline], [:multi], [:static, ">\n"], [:static, "<h2"], [:newline], [:multi], [:static, ">"], [:dynamic, "(get_actor_name(obj)\n).to_s"], [:static, "</h2>\n"], [:code, "if val = display_value(obj[\"contact_point\"], field: \"value\")\n"], [:static, "<div"], [:multi, [:static, " class='address secondary'"]], [:static, ">"], [:dynamic, "(val\n).to_s"], [:static, "</div>\n"], [:code, "end;"], [:static, "</header>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col-md-6'"]], [:static, ">\n"], [:code, "\nif bio = get_actor_bio(obj)\n"], [:static, "<p"], [:multi], [:static, ">"], [:dynamic, "(bio\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:code, "if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n"], [:static, "<p"], [:multi], [:static, ">"], [:dynamic, "(display_value(bio, keep_newlines: true)\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:code, "if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n"], [:static, "<h5"], [:multi], [:static, ">"], [:static, "About the Dataset</h5>\n"], [:static, "<p"], [:newline], [:multi], [:static, ">"], [:dynamic, "(display_value(bio, keep_newlines: true)\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col-md-5 offset-md-1'"]], [:static, ">\n"], [:static, "<!-- "], [:static, "/ Instititution-specific section"], [:static, " -->\n"], [:code, "\n\n\n if obj[\"schema:logo\"]\n"], [:static, "<section"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n if val = obj[\"schema:logo\"]\n"], [:static, "<div"], [:multi, [:static, " class='col-12 text-center logo_lockup'"]], [:static, ">\n"], [:dynamic, "\n(image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:code, " if obj[\"toybox:related_artwork_count\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Items</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:related_artist_count\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Creators</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Date Range</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</section>\n"], [:code, "end;"], [:static, "<div"], [:newline], [:newline], [:multi, [:static, " class='metadata'"]], [:static, ">\n"], [:static, "<dl"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n).to_s"], [:dynamic, "(list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n).to_s"], [:dynamic, "(list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n).to_s"], [:static, "</dl>\n"], [:code, " if obj[\"toybox:related_actors\"]\n"], [:dynamic, "( haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n).to_s"], [:dynamic, "(list_item \"Linked Data URI\",  external_link_to(obj[\"id\"])\n).to_s"], [:dynamic, "(list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n).to_s"], [:code, " json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n"], [:dynamic, "(list_item \"View LOD\",   [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \"  \", pluralize: false\n).to_s"], [:code, "_hamlout.rstrip!\n"], [:static, "</dl>\n"], [:static, "<!-- "], [:static, "/ This is an alternate option for the first toybox."], [:static, " -->\n"], [:code, "\n if obj.dig(\"depicted_by\") && false\n"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n).to_s"], [:static, "</dl>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "\n\n if obj[\"depicted_by\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:dynamic, "(\"Selected Images of \#{get_actor_name(obj)}\"\n).to_s"], [:static, "</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:created_by\"]\n"], [:dynamic, "( haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n).to_s"], [:static, "\n"], [:code, "end;"], [:code, "\n\n if obj[\"toybox:featured_items\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:static, "Featured Objects</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n obj[\"toybox:featured_items\"].first(12).each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:most_common_artists\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:static, "Most Common Creators</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n obj[\"toybox:most_common_artists\"].first(6).each do |item|\n"], [:code, " id = item[\"toybox:common_artist\"][\"id\"]\n"], [:code, " uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n"], [:code, " common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n"], [:code, " if common_artist\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:code, "\n count = item[\"toybox:common_artist_count\"][\"@value\"]\n"], [:code, " caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:dynamic, "\n\n(find_and_preserve(Haml::Filters::Javascript.render_with_options(\n\"console.log(\#{obj.to_json});\\n\", _hamlout.options))\n).to_s"], [:static, "\n"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e058e8258 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=113>, #<Haml::Escapable:0x00007f9e058e7ce0 @options=#<Temple::ImmutableMap:0x00007f9e058e7a38 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e058e7538@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e058e70d8@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e058e6c50 @options=#<Temple::ImmutableMap:0x00007f9e058e69f8 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e058e64f8 @options=#<Temple::ImmutableMap:0x00007f9e058e62a0 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e058e5da0 @options=#<Temple::ImmutableMap:0x00007f9e058e5b48 @map=[{}]>>, #<Haml::Generator:0x00007f9e058e5620 @options=#<Temple::ImmutableMap:0x00007f9e058e5468 @map=[{:freeze_static=>true}]>>], @precompiled=" content_for :title_text do\n; _hamlout.buffer << ((( get_actor_name(obj)\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"<section class='container main_content'>\\n<header>\\n<h2>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((get_actor_name(obj)\n).to_s).to_s);; _hamlout.buffer << (\"</h2>\\n\".freeze);; if val = display_value(obj[\"contact_point\"], field: \"value\")\n; _hamlout.buffer << (\"<div class='address secondary'>\".freeze);; _hamlout.buffer << (((val\n).to_s).to_s);; _hamlout.buffer << (\"</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</header>\\n<div class='row'>\\n<div class='col-md-6'>\\n\".freeze);; \n; \n; \nif bio = get_actor_bio(obj)\n; _hamlout.buffer << (\"<p>\".freeze);; _hamlout.buffer << (((bio\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n; _hamlout.buffer << (\"<p>\".freeze);; _hamlout.buffer << (((display_value(bio, keep_newlines: true)\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n; _hamlout.buffer << (\"<h5>About the Dataset</h5>\\n<p>\".freeze);; \n; _hamlout.buffer << (((display_value(bio, keep_newlines: true)\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n<div class='col-md-5 offset-md-1'>\\n<!-- / Instititution-specific section -->\\n\".freeze);; \n; \n\n\n if obj[\"schema:logo\"]\n; _hamlout.buffer << (\"<section class='row'>\\n\".freeze);; \n if val = obj[\"schema:logo\"]\n; _hamlout.buffer << (\"<div class='col-12 text-center logo_lockup'>\\n\".freeze);; _hamlout.buffer << ((\n(image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;;  if obj[\"toybox:related_artwork_count\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Items</div>\\n</div>\\n\".freeze);; end;; \n if obj[\"toybox:related_artist_count\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Creators</div>\\n</div>\\n\".freeze);; end;; \n if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Date Range</div>\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</section>\\n\".freeze);; end;; _hamlout.buffer << (\"<div class='metadata'>\\n<dl class='row'>\".freeze);; \n; \n; \n; _hamlout.buffer << ((\n(list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n).to_s).to_s);; _hamlout.buffer << (\"</dl>\\n\".freeze);;  if obj[\"toybox:related_actors\"]\n; _hamlout.buffer << ((( haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"<dl class='row'>\".freeze);; _hamlout.buffer << ((\n(list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Linked Data URI\",  external_link_to(obj[\"id\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n).to_s).to_s);;  json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n; _hamlout.buffer << (((list_item \"View LOD\",   [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \"  \", pluralize: false\n).to_s).to_s);; _hamlout.rstrip!\n; _hamlout.buffer << (\"</dl>\\n<!-- / This is an alternate option for the first toybox. -->\\n\".freeze);; \n if obj.dig(\"depicted_by\") && false\n; _hamlout.buffer << (\"<dl class='row'>\".freeze);; _hamlout.buffer << ((\n(list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n).to_s).to_s);; _hamlout.buffer << (\"</dl>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</div>\\n</section>\\n\".freeze);; \n\n if obj[\"depicted_by\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((\"Selected Images of \#{get_actor_name(obj)}\"\n).to_s).to_s);; _hamlout.buffer << (\"</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; \n if obj[\"toybox:created_by\"]\n; _hamlout.buffer << ((( haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; \n\n if obj[\"toybox:featured_items\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>Featured Objects</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n; \n; \n; \n; \n; \n obj[\"toybox:featured_items\"].first(12).each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; \n if obj[\"toybox:most_common_artists\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>Most Common Creators</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n; \n; \n; \n; \n; \n obj[\"toybox:most_common_artists\"].first(6).each do |item|\n;  id = item[\"toybox:common_artist\"][\"id\"]\n;  uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n;  common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n;  if common_artist\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; \n count = item[\"toybox:common_artist_count\"][\"@value\"]\n;  caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n</div>\\n\".freeze);; end;; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; _hamlout.buffer << ((\n\n(find_and_preserve(Haml::Filters::Javascript.render_with_options(\n\"console.log(\#{obj.to_json});\\n\", _hamlout.options))\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);">>, [:haml, :"toyboxes/related_actors", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9dfe1bfa28 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/related_actors.haml", @compiled_method={[:people]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283022580>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9dfe1bf8e8@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- list = get_relationship_list(people)\n- if list.length > 0\n  %dl.row\n    - list.each do |reltype, links|\n      = list_item reltype, links, pluralize: false", @engine=#<Haml::TempleEngine:0x00007f9dfe1bf7f8 @options=#<Temple::ImmutableMap:0x00007f9dfe1bf2a8 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/related_actors.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9dfe1bf118 @options=#<Haml::Options:0x00007f9dfe1bf0f0 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/related_actors.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
  (silent_script {:text=>" list = get_relationship_list(people)", :keyword=>nil})
  (silent_script {:text=>" if list.length > 0", :keyword=>"if"}
    (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (silent_script {:text=>" list.each do |reltype, links|", :keyword=>nil}
        (script {:text=>" list_item reltype, links, pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))))), @root=(root nil
  (silent_script {:text=>" list = get_relationship_list(people)", :keyword=>nil})
  (silent_script {:text=>" if list.length > 0", :keyword=>"if"}
    (tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (silent_script {:text=>" list.each do |reltype, links|", :keyword=>nil}
        (script {:text=>" list_item reltype, links, pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))))), @flat=false, @filter_buffer=nil, @indentation="  ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=5, parser=#<Haml::Parser:0x00007f9dfe1bf118 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=5, parser=#<Haml::Parser:0x00007f9dfe1bf118 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9dfe1be128 @options=#<Haml::Options:0x00007f9dfe1be100 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/related_actors.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " list = get_relationship_list(people)\n"], [:code, " if list.length > 0\n"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n list.each do |reltype, links|\n"], [:dynamic, "( list_item reltype, links, pluralize: false\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "</dl>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9dfe1bd0c0 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=6>, #<Haml::Escapable:0x00007f9dfe1bcc10 @options=#<Temple::ImmutableMap:0x00007f9dfe1bc8a0 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9dfe1bc2b0@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9dfc59be00@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9dfc59b8d8 @options=#<Temple::ImmutableMap:0x00007f9dfc59b658 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9dfc59b158 @options=#<Temple::ImmutableMap:0x00007f9dfc59af00 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9dfc59aa00 @options=#<Temple::ImmutableMap:0x00007f9dfc59a7a8 @map=[{}]>>, #<Haml::Generator:0x00007f9dfc59a2a8 @options=#<Temple::ImmutableMap:0x00007f9dfc59a0f0 @map=[{:freeze_static=>true}]>>], @precompiled=" list = get_relationship_list(people)\n;  if list.length > 0\n; _hamlout.buffer << (\"<dl class='row'>\\n\".freeze);; \n list.each do |reltype, links|\n; _hamlout.buffer << ((( list_item reltype, links, pluralize: false\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"</dl>\\n\".freeze);; end;">>, [:haml, :"toyboxes/work_grid", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9dfc5b9c48 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/work_grid.haml", @compiled_method={[:title, :works]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283022580>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9dfc5b9ae0@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- split_works = split_by_owner(works)\n- split_works.each do |owner, owners_works|\n  %section.container-fluid.toybox.featured_items\n    .container\n      .row\n        .col\n          %h3 Objects at \#{owner} (\#{owners_works.count})\n      .row\n        - owners_works.each do |item|\n          .col-2\n            = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}  \n", @engine=#<Haml::TempleEngine:0x00007f9dfc5b99c8 @options=#<Temple::ImmutableMap:0x00007f9dfc5b9478 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/work_grid.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9dfc5b92e8 @options=#<Haml::Options:0x00007f9dfc5b92c0 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/work_grid.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
  (silent_script {:text=>" split_works = split_by_owner(works)", :keyword=>nil})
  (silent_script {:text=>" split_works.each do |owner, owners_works|", :keyword=>nil}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Objects at \#{owner} (\#{owners_works.count})\""})))
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" owners_works.each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))), @root=(root nil
  (silent_script {:text=>" split_works = split_by_owner(works)", :keyword=>nil})
  (silent_script {:text=>" split_works.each do |owner, owners_works|", :keyword=>nil}
    (tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
            (tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Objects at \#{owner} (\#{owners_works.count})\""})))
        (tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
          (silent_script {:text=>" owners_works.each do |item|", :keyword=>nil}
            (tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
              (script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))), @flat=false, @filter_buffer=nil, @indentation="  ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=11, parser=#<Haml::Parser:0x00007f9dfc5b92e8 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=11, parser=#<Haml::Parser:0x00007f9dfc5b92e8 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9dfc5b82f8 @options=#<Haml::Options:0x00007f9dfc5b82d0 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/work_grid.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " split_works = split_by_owner(works)\n"], [:code, " split_works.each do |owner, owners_works|\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:dynamic, "(\"Objects at \#{owner} (\#{owners_works.count})\"\n).to_s"], [:static, "</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n owners_works.each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e05cab250 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=12>, #<Haml::Escapable:0x00007f9e05caada0 @options=#<Temple::ImmutableMap:0x00007f9e05caaaf8 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e05caa5d0@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e05caa148@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e05ca9cc0 @options=#<Temple::ImmutableMap:0x00007f9e05ca9a68 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e05ca9540 @options=#<Temple::ImmutableMap:0x00007f9e05ca92e8 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e05ca8d20 @options=#<Temple::ImmutableMap:0x00007f9e05ca8aa0 @map=[{}]>>, #<Haml::Generator:0x00007f9e05ca8550 @options=#<Temple::ImmutableMap:0x00007f9e05ca8398 @map=[{:freeze_static=>true}]>>], @precompiled=" split_works = split_by_owner(works)\n;  split_works.each do |owner, owners_works|\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((\"Objects at \#{owner} (\#{owners_works.count})\"\n).to_s).to_s);; _hamlout.buffer << (\"</h3>\\n</div>\\n</div>\\n<div class='row'>\\n\".freeze);; \n owners_works.each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;">>, [:haml, :"toyboxes/item_preview", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9e05fcc5d8 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/item_preview.haml", @compiled_method={[:id]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283022580>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9e05fcc498@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n- obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n- if obj\n  .item_preview\n    = display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n-else\n  .item_preview\n    = display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n", @engine=#<Haml::TempleEngine:0x00007f9e05fcc3a8 @options=#<Temple::ImmutableMap:0x00007f9e05fcbe80 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/item_preview.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9e05fcbcf0 @options=#<Haml::Options:0x00007f9e05fcbcc8 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/item_preview.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
  (silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
  (silent_script {:text=>" obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
  (silent_script {:text=>" if obj", :keyword=>"if"}
    (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (script {:text=>" display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
    (silent_script {:text=>"else", :keyword=>"else"})
    (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (script {:text=>" display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))), @root=(root nil
  (silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
  (silent_script {:text=>" obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
  (silent_script {:text=>" if obj", :keyword=>"if"}
    (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (script {:text=>" display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
    (silent_script {:text=>"else", :keyword=>"else"})
    (tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
      (script {:text=>" display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))), @flat=false, @filter_buffer=nil, @indentation="  ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=8, parser=#<Haml::Parser:0x00007f9e05fcbcf0 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=8, parser=#<Haml::Parser:0x00007f9e05fcbcf0 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9e05fcac60 @options=#<Haml::Options:0x00007f9e05fcac38 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/item_preview.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n"], [:code, " obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n"], [:code, " if obj\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "else\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e05fc9b58 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=9>, #<Haml::Escapable:0x00007f9e05fc96a8 @options=#<Temple::ImmutableMap:0x00007f9e05fc9400 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e05fc8f00@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e05fc8aa0@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e05fc8618 @options=#<Temple::ImmutableMap:0x00007f9e05fc83c0 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e05fc7e70 @options=#<Temple::ImmutableMap:0x00007f9e05fc7c18 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e05fc76f0 @options=#<Temple::ImmutableMap:0x00007f9e05fc7470 @map=[{}]>>, #<Haml::Generator:0x00007f9e05fc6f20 @options=#<Temple::ImmutableMap:0x00007f9e05fc6d68 @map=[{:freeze_static=>true}]>>], @precompiled=" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n;  obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n;  if obj\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; else\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;">>}>>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :xss_mode=>:block, :nosniff=>true, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :frame_options=>:sameorigin, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}, @frame_options="SAMEORIGIN">> | 
| rack.multiprocess | false | 
| rack.multithread | true | 
| rack.request.cookie_hash | {} | 
| rack.request.query_hash | {"production"=>"true"} | 
| rack.request.query_string | production=true | 
| rack.run_once | false | 
| rack.url_scheme | http | 
| rack.version | [1, 3] | 
| sinatra.accept | [#<Sinatra::Request::AcceptEntry:0x00007f9e05f7a990 @entry="*/*", @type="*/*", @params={}, @q=1.0>] | 
| sinatra.error | #<TypeError: no implicit conversion of String into Integer> | 
| sinatra.error.params | {"production"=>"true", "captures"=>["actor/ulan/500021991", "html"], "slug"=>"actor/ulan/500021991", "extension"=>"html"} | 
| sinatra.route | GET \/(?<slug>.+?)(?:\.(?<extension>html|json|jsonld|ttl))? | 
You're seeing this error because you have
enabled the show_exceptions setting.