code: def get_report_structure(
      config: Settings, summary: BaseDescription
  ) -> Root:
      """Generate a HTML report from summary statistics and a given sample.
  
      Args:
        config: report Settings object
        summary: Statistics to use for the overview, variables, correlations and missing values.
  
      Returns:
        The profile report in HTML format
      """
      disable_progress_bar = not config.progress_bar
      with tqdm(
          total=1,
          desc="Generate report structure",
          disable=disable_progress_bar,
      ) as pbar:
          alerts = summary.alerts
  
          section_items: List[Renderable] = [
              Container(
                  get_dataset_items(config, summary, alerts),
                  sequence_type="tabs",
                  name="Overview",
                  anchor_id="overview",
              ),
          ]
  
          if len(summary.variables) > 0:
              section_items.append(
                  Dropdown(
                      name="Variables",
                      anchor_id="variables-dropdown",
                      id="variables-dropdown",
                      is_row=True,
                      classes=["dropdown-toggle"],
                      items=list(summary.variables),
                      item=Container(
                          render_variables_section(config, summary),
                          sequence_type="accordion",
                          name="Variables",
                          anchor_id="variables",
                      ),
                  )
              )
  
          scatter_items = get_interactions(config, summary.scatter)
          if len(scatter_items) > 0:
              section_items.append(
                  Container(
                      scatter_items,
                      sequence_type="tabs"
                      if len(scatter_items) <= 10
                      else "select",
                      name="Interactions",
                      anchor_id="interactions",
                  ),
              )
  
          corr = get_correlation_items(config, summary)
          if corr is not None:
              section_items.append(corr)
  
          missing_items = get_missing_items(config, summary)
          if len(missing_items) > 0:
              section_items.append(
                  Container(
                      missing_items,
                      sequence_type="tabs",
                      name="Missing values",
                      anchor_id="missing",
                  )
              )
  
          sample_items = get_sample_items(config, summary.sample)
          if len(sample_items) > 0:
              section_items.append(
                  Container(
                      items=sample_items,
                      sequence_type="tabs",
                      name="Sample",
                      anchor_id="sample",
                  )
              )
  
          duplicate_items = get_duplicates_items(
              config, summary.duplicates
          )
          if len(duplicate_items) > 0:
              section_items.append(
                  Container(
                      items=duplicate_items,
                      sequence_type="batch_grid",
                      batch_size=len(duplicate_items),
                      name="Duplicate rows",
                      anchor_id="duplicate",
                  )
              )
  
          sections = Container(
              section_items,
              name="Root",
              sequence_type="sections",
              full_width=config.html.full_width,
          )
          pbar.update()
  
      footer = HTML(
          content='Report generated by <a href="https://ydata.ai/?utm_source=opensource&utm_medium=pandasprofiling&utm_campaign=report">YData</a>.'
      )
  
      return Root("Root", sections, footer, style=config.html.style)
  
imports: from typing import List, Sequence
  import pandas
  from tqdm.auto import tqdm
  from ydata_profiling.config import Settings
  from ydata_profiling.model import BaseDescription
  from ydata_profiling.model.alerts import AlertType
  from ydata_profiling.model.handler import get_render_map
  from ydata_profiling.report.presentation.core import HTML, Collapse, Container, Dropdown, Duplicate
  from ydata_profiling.report.presentation.core import Image
  from ydata_profiling.report.presentation.core import Sample, ToggleButton, Variable
  from ydata_profiling.report.presentation.core.renderable import Renderable
  from ydata_profiling.report.presentation.core.root import Root
  from ydata_profiling.report.structure.correlations import get_correlation_items
  from ydata_profiling.report.structure.overview import get_dataset_items
  from ydata_profiling.utils.dataframe import slugify
label_desc: Use image node_id 7 for calling a global function with example usage: get_report_structure(config, summary) and returns: Root