code: def with_aad_application_certificate_authentication(
          cls, connection_string, aad_app_id, certificate, thumbprint, authority_id
      ):
          
          _assert_value_is_valid(aad_app_id)
          _assert_value_is_valid(certificate)
          _assert_value_is_valid(thumbprint)
          _assert_value_is_valid(authority_id)
          kcsb = cls(connection_string)
          kcsb[kcsb.ValidKeywords.aad_federated_security] = True
          kcsb[kcsb.ValidKeywords.application_client_id] = aad_app_id
          kcsb[kcsb.ValidKeywords.application_certificate] = certificate
          kcsb[kcsb.ValidKeywords.application_certificate_thumbprint] = thumbprint
          kcsb[kcsb.ValidKeywords.authority_id] = authority_id
  
          return kcsb
docs: Creates a KustoConnection string builder that will authenticate with AAD application and
          a certificate credentials.
          :param str connection_string: Kusto connection string should by of the format:
          https://<clusterName>.kusto.windows.net
          :param str aad_app_id: AAD application ID.
          :param str certificate: A PEM encoded certificate private key.
          :param str thumbprint: hex encoded thumbprint of the certificate.
          :param str authority_id: Authority id (aka Tenant id) must be provided