human
Complete this python program:
def get_argument_parser():
assistant
#Here is the Python code you requested.

    """Parse CLI arguments and return a map of options.
    """
    parser = argparse.ArgumentParser(description='DC/OS    Install    and    Configuration    Utility')
    mutual_exc = parser.add_mutually_exclusive_group()
    mutual_exc.add_argument('--hash-password', action=ArgsAction, dest='password', metavar='password', nargs='?', help='Hash    a    password    and    print    the    results    to    copy    into    a    config.yaml.')
    mutual_exc.add_argument('--set-superuser-password', action=ArgsAction, metavar='password', dest='password', nargs='?', help='Hash    the    given    password    and    store    it    as    the    superuser    password    in    config.yaml')
    mutual_exc.add_argument('--generate-node-upgrade-script', action=ArgsAction, metavar='installed_cluster_version', dest='installed_cluster_version', nargs='?', help='Generate    a    script    that    upgrades    DC/OS    nodes    running    installed_cluster_version')
    parser.add_argument('-v', '--verbose', action='store_true', help='Verbose    log    output    (DEBUG).')
    parser.add_argument('-p', '--port', type=int, default=9000, help=argparse.SUPPRESS)
    parser.add_argument('--offline', action='store_true', help='Do    not    install    preflight    prerequisites    on    CentOS7,    RHEL7    in    web    mode')
    parser.add_argument('--cli-telemetry-disabled', action='store_true', help='Disable    the    CLI    telemetry    gathering    for    SegmentIO')
    def add_mode(name, help_msg):
        mutual_exc.add_argument('--{}'.format(name), action='store_const', const=name, dest='action', help=help_msg)
    for (name, value) in dispatch_dict_simple.items():
        add_mode(name, value[2])
    for (name, value) in dispatch_dict_aio.items():
        add_mode(name, value[2])
    parser.set_defaults(action='genconf')
    return parser