<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>316095</bug_id>
          
          <creation_ts>2013-03-03 23:04:13 +0000</creation_ts>
          <short_desc>unable to export class diagram to image</short_desc>
          <delta_ts>2015-02-26 23:13:03 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>umbrello</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Arch Linux</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Artur O.">commander.alchemy</reporter>
          <assigned_to name="Ralf Habacker">ralf.habacker</assigned_to>
          <cc>Adrian.L.Parker</cc>
    
    <cc>commander.alchemy</cc>
    
    <cc>evgom.sid</cc>
    
    <cc>kde-bugs</cc>
    
    <cc>kde</cc>
    
    <cc>liviu.vasut</cc>
    
    <cc>ralf.habacker</cc>
          
          <cf_commitlink>http://commits.kde.org/umbrello/b5ec972bfec691a4a68530431e5d92acb8aeb8d7</cf_commitlink>
          <cf_versionfixedin>4.11.4</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>30</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347379</commentid>
    <comment_count>0</comment_count>
    <who name="Artur O.">commander.alchemy</who>
    <bug_when>2013-03-03 23:04:13 +0000</bug_when>
    <thetext>2.10.0

After creating a classdiagram in umbrello and then trying to export the whole to a image it fails.
Tried to export to .png .jpeg

Terminal Output:
umbrello(11676) UMLViewImageExporterModel::exportViewToPixmap: saving to file  &quot;/home/commander/something.jpeg.&quot;  , imageType= &quot;&quot;  , width= 268  , height= 152  , successful= false

Full output:
http://codepad.org/2kCiONHr

Reproducible: Always

Steps to Reproduce:
1. Create a class diagram
2. Export as picture (Diagram -&gt; profit)
3. Error
Actual Results:  
An error happened when exporting the image:
A problem occurred while saving diagram in /home/commander/something.jpeg.

Expected Results:  
Success?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347380</commentid>
    <comment_count>1</comment_count>
    <who name="Artur O.">commander.alchemy</who>
    <bug_when>2013-03-03 23:05:45 +0000</bug_when>
    <thetext>This is Umbrello version 2.10.0, could not choose that from the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353114</commentid>
    <comment_count>2</comment_count>
    <who name="Erick Osorio">evgom.sid</who>
    <bug_when>2013-03-21 08:03:07 +0000</bug_when>
    <thetext>I have the same problem in two machines:

Umbrello 2.10.1
openSUSE 12.3 - 64 bits
KDE 4.10.1

Umbrello 2.10.0
openSUSE 12.3 - 32 bits
KDE 4.10.0

Looks like a real bug... Please fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397507</commentid>
    <comment_count>3</comment_count>
    <who name="Liviu Vasut">liviu.vasut</who>
    <bug_when>2013-09-16 05:55:09 +0000</bug_when>
    <thetext>Export doesn&apos;t work for me either. I kept trying this feature since Fedora 17 (current release is 19) on two systems with no success. I&apos;m using the latest Umbrello from the Fedora repository (2.10.5).

Exporting from the menu gives an error: 
&quot;An error happened when exporting the image:
A problem occurred while saving diagram in /tmp/aaa.jpg.&quot;

I also tried exporting to every format supported from the shell:
$ for F in  `umbrello --export-formats 2&gt; /dev/null `; do umbrello --export $F hrservice.xmi; done

None of the exported formats work, some are incomplete, others have misplaced objects and some are just unreadable.

 Please let me know if you require more information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397509</commentid>
    <comment_count>4</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-09-16 06:25:05 +0000</bug_when>
    <thetext>To see if the there are permission errors on creating file  you may run umbrello with 

strace umbrello ..... 2&gt;&amp;1 | grep open 

to see a list of opened files and possible return errors. 

If you cannot find something unusual you may start kdebugdialog, search for umbrello and enable all umbrello related messages. 
Then run umbrello from command line, which will produce debug messages. 
If you do not find any related messages you may start kdebugdialog again and additional enable  kio/kdelibs related debug messages. 

If this do not help to get an idea what&apos;s going wrong, you may compile umbrello in debug mode an run umbrello under a debugger. I made good experience with qt creator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397698</commentid>
    <comment_count>5</comment_count>
      <attachid>82361</attachid>
    <who name="Liviu Vasut">liviu.vasut</who>
    <bug_when>2013-09-17 10:52:22 +0000</bug_when>
    <thetext>Created attachment 82361
original file, export log and generated files

Thank you Ralph for your quick response.

I did, as advised, a &quot;strace umbrello --export jpg t.xmi 2&gt;&amp;1 | grep open&quot;. Nothing suspicious, all files can be written to.

I attached the output generated by the command: &quot;umbrello --export jpg t.xmi 2&gt;&amp;1&quot; (with umbrello related messages enabled in kdedebugdialog) and two generated jpg files. There are a lot of &quot;Painter not active&quot; messages in the log, maybe that is the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398825</commentid>
    <comment_count>6</comment_count>
      <attachid>82455</attachid>
    <who name="Joris Steyn">kde</who>
    <bug_when>2013-09-22 10:48:36 +0000</bug_when>
    <thetext>Created attachment 82455
Fix mapping of file extension to mime type

This bug was introduced in commit 7e6729ba. When selecting JPEG for example, the argument for UMLViewImageExporterModel::imageTypeToMimeType() is a string containing all possible file extensions (jpg, jpeg) while the imageTypeToMimeType method expects only one extension.

Attached patch allows this by matching the main file type and ignoring any leading/trailing extensions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398861</commentid>
    <comment_count>7</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-09-22 12:55:29 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created attachment 82455 [details]
&gt; Fix mapping of file extension to mime type
&gt; 
Thanks for your effort. 
After digging into this stuff I come to the conclusion, that this bug seems to be have other reasons, because UMLViewImageExporterModel::imageTypeToMimeType() is intended to process one image type, not multiple. 

/**
 * Returns the mime type for an image type.
 * The supported image types are those that the diagrams can be exported to.
 *
 * @param imageType The type of the image.
 * @return A QString with the equivalent mime type, or QString() if
 *         it&apos;s unknown.
 */
QString UMLViewImageExporterModel::imageTypeToMimeType(const QString&amp; imageType)

instead there is a misconception in  UMLViewImageExporter::getParametersFromUser() mentioned below: 

/**
 * Shows a save file dialog to the user to get the parameters used
 * to export the view and updates the attributes with the parameters got.
 *
 * @return True if the user wants to save the image,
 *         false if the operation is cancelled.
 */
bool UMLViewImageExporter::getParametersFromUser()
{
    bool success = true;

    // configure &amp; show the file dialog
    KUrl url;
    QPointer&lt;UMLFileDialog&gt; dialog = new UMLFileDialog(url, QString(), UMLApp::app());
    prepareFileDialog(dialog);
    dialog-&gt;exec();

-&gt; dialog has been executed and closed 

    if (dialog-&gt;selectedUrl().isEmpty()) {
        success = false;
    }
    else {
        m_scene-&gt;clearSelected();   // Thanks to Peter Soetens for the idea

        // update image url and mime type
        m_imageMimeType = dialog-&gt;currentMimeFilter();

--&gt; this should return the mime type of the selected file. 

In the called method which handles a single mimetype

QString UMLFileDialog::currentMimeFilter()
{
    QString currentFilter = m_dialog-&gt;currentFilter();

this return multiple filters instead of the one of the selected file. 

    #ifdef Q_OS_WIN
    // using native KFileDialog returns empty filter, so we need a workaround
    if (currentFilter.isEmpty()) {
        KUrl url = m_dialog-&gt;selectedUrl();
        QFileInfo fi(url.toLocalFile());
        return UMLViewImageExporterModel::imageTypeToMimeType(fi.suffix());

On windows where the native KFileDialog is used it works correctly. 

    }
    #endif
    return UMLViewImageExporterModel::imageTypeToMimeType(currentFilter.remove(&quot;*.&quot;));
}

... returning to bool UMLViewImageExporter::getParametersFromUser()

        // update image url and mime type
        m_imageMimeType = dialog-&gt;currentMimeFilter();

        UMLApp::app()-&gt;setImageMimeType(m_imageMimeType);

the returned (single) mimetype is set as default 

/**
 * Sets the default mime type for all diagrams that are exported as images.
 * @param mimeType   the mime type
 */
void UMLApp::setImageMimeType(const QString&amp; mimeType)


then the url of the selected file is taken 

        m_imageURL = dialog-&gt;selectedUrl();


and ...         // check if the extension is the extension of the mime type
        QFileInfo info(m_imageURL.fileName());
        QString ext = info.suffix();
        QString extDef = UMLViewImageExporterModel::mimeTypeToImageType(m_imageMimeType);
        if (ext != extDef) {
            m_imageURL.setFileName(m_imageURL.fileName() + &apos;.&apos; + extDef);

which takes always the extension based on the mime type of the selected file extension and not the one returned from currentMimeFilter() ... this looks as something that could be simplified. 

Returning to the main problem: the usage of dialog-&gt;currentMimeFilter(); has been introduced  with 

commit 13e7b715b4e01f9b18d06d8998278c43c9b07eb4
Date:   Sun Apr 2 10:29:29 2006 +0000

    Apply attachment 15388 by Daniel Calviño Sánchez with minor changes.
    CCBUG:58809

which was at kde3 times. May be that the meaning of currentMimeFilter() has been changed in the transition from kde3 to kde4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398884</commentid>
    <comment_count>8</comment_count>
    <who name="Joris Steyn">kde</who>
    <bug_when>2013-09-22 15:14:32 +0000</bug_when>
    <thetext>At least we&apos;re getting somewhere :)

In reply to your comment: imageTypeToMimeType() is still handling one file type per invocation.

The culprit is one filter can now contain multiple file extensions (&quot;*.jpeg *.jpg *.jpe *.jfif&quot; - the KMimeType pattern). So for the PNG files, all is fine (&quot;*.png&quot; -&gt; &quot;png&quot; == &quot;png&quot;), but JPEG fails (&quot;*.jpeg *.jpg&quot; -&gt; &quot;jpeg jpg&quot; != &quot;jpg&quot;) hence checking for contains(&quot;jpg&quot;) will make everything work as intended.

I agree there must be a better way of mapping the selected filter back to a mime-type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399134</commentid>
    <comment_count>9</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-09-24 06:43:14 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; At least we&apos;re getting somewhere :)
&gt; 
&gt; In reply to your comment: imageTypeToMimeType() is still handling one file
&gt; type per invocation.
&gt; 
&gt; The culprit is one filter can now contain multiple file extensions (&quot;*.jpeg
&gt; *.jpg *.jpe *.jfif&quot; - the KMimeType pattern). So for the PNG files, all is
&gt; fine (&quot;*.png&quot; -&gt; &quot;png&quot; == &quot;png&quot;), but JPEG fails (&quot;*.jpeg *.jpg&quot; -&gt; &quot;jpeg
&gt; jpg&quot; != &quot;jpg&quot;) hence checking for contains(&quot;jpg&quot;) will make everything work
&gt; as intended.
&gt; 
I see, thanks for explanations. 

&gt; I agree there must be a better way of mapping the selected filter back to a
&gt; mime-type.

What about to refactor UMLFileDialog::currentMimeFilter() to something like 
/**
 * @brief return the mime type of the currenty selected file
 * @return mime type string
 */
QString UMLFileDialog::currentMimeFilter()
{
    KUrl url = m_dialog-&gt;selectedUrl();
    QFileInfo fi(url.toLocalFile());
    return UMLViewImageExporterModel::imageTypeToMimeType(fi.suffix());
}

which is already the default case on windows ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399138</commentid>
    <comment_count>10</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-09-24 07:02:20 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; At least we&apos;re getting somewhere :)
&gt; &gt; 
&gt; &gt; The culprit is one filter can now contain multiple file extensions (&quot;*.jpeg
&gt; &gt; *.jpg *.jpe *.jfif&quot; - the KMimeType pattern). So for the PNG files, all is
&gt; &gt; fine (&quot;*.png&quot; -&gt; &quot;png&quot; == &quot;png&quot;), but JPEG fails (&quot;*.jpeg *.jpg&quot; -&gt; &quot;jpeg
&gt; &gt; jpg&quot; != &quot;jpg&quot;) hence checking for contains(&quot;jpg&quot;) will make everything work
&gt; &gt; as intended.
+
+    // imageType is a list of one or more possible file extensions
+    // for a selected file type, for example:
+    //   Bitmap: &quot;bmp dib&quot;
+    //   JPEG:   &quot;jpeg jpg&quot;
+    //   PNG:    &quot;png&quot;
... 
+    if (imgType.contains(&quot;jpeg&quot;)) return &quot;image/jpeg&quot;;
there is still no &quot;jpg&quot; handling case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399140</commentid>
    <comment_count>11</comment_count>
    <who name="Joris Steyn">kde</who>
    <bug_when>2013-09-24 07:11:47 +0000</bug_when>
    <thetext>Ralf, comment #8 makes sense. I can confirm that works as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399146</commentid>
    <comment_count>12</comment_count>
    <who name="Joris Steyn">kde</who>
    <bug_when>2013-09-24 08:08:53 +0000</bug_when>
    <thetext>Sorry, I was talking about comment #9, not comment #8!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399227</commentid>
    <comment_count>13</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-09-24 13:54:54 +0000</bug_when>
    <thetext>Git commit 4f4a296c341a2f5e7d74d8ef5702aa7c53da107d by Ralf Habacker.
Committed on 24/09/2013 at 11:02.
Pushed by habacker into branch &apos;master&apos;.

Cleanup of mime type detection when exporting bitmaps.

The usage of KDE4&apos;s KFileDialog::currentMimeFilter() is broken,
because it returns a list of the currently selected file type.
In the opposite the code expects a single mime type of the selected file.

M  +7    -10   umbrello/dialogs/umlfiledialog.cpp
M  +0    -8    umbrello/umlviewimageexporter.cpp

http://commits.kde.org/umbrello/4f4a296c341a2f5e7d74d8ef5702aa7c53da107d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408465</commentid>
    <comment_count>14</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-11-02 23:11:17 +0000</bug_when>
    <thetext>Git commit b5ec972bfec691a4a68530431e5d92acb8aeb8d7 by Ralf Habacker.
Committed on 24/09/2013 at 11:02.
Pushed by habacker into branch &apos;KDE/4.11&apos;.

Cleanup of mime type detection when exporting bitmaps.

The usage of KDE4&apos;s KFileDialog::currentMimeFilter() is broken,
because it returns a list of the currently selected file type.
In the opposite the code expects a single mime type of the selected file.
FIXED-IN:4.11.3

M  +7    -10   umbrello/dialogs/umlfiledialog.cpp
M  +0    -8    umbrello/umlviewimageexporter.cpp

http://commits.kde.org/umbrello/b5ec972bfec691a4a68530431e5d92acb8aeb8d7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408546</commentid>
    <comment_count>15</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2013-11-03 11:02:12 +0000</bug_when>
    <thetext>*** Bug 327046 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502413</commentid>
    <comment_count>16</comment_count>
    <who name="Ralf Habacker">ralf.habacker</who>
    <bug_when>2015-02-26 23:13:03 +0000</bug_when>
    <thetext>*** Bug 139908 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>82361</attachid>
            <date>2013-09-17 10:52:22 +0000</date>
            <delta_ts>2013-09-17 10:52:22 +0000</delta_ts>
            <desc>original file, export log and generated files</desc>
            <filename>export_output.tgz</filename>
            <type>application/octet-stream</type>
            <size>5285</size>
            <attacher name="Liviu Vasut">liviu.vasut</attacher>
            
              <data encoding="base64">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
vXJmx3F/uLPj0LKji8Qzj/z8+a01d8GmX0zpnOhfYrvsppvoXQtK/+3mmhmrrnz07jdnrH2g5shN
gUkr568Ln/jF4X//qvvY82vf+HDSLvMDh3bN+n2Od9VY+6GdK1cfWDxx+wpm+Yv0yF3bX19WWInd
485jD3Xt9W88PuXmzo62JWvCJx7dcfaa00se3rXywU9/ctnbHy/dv3bP2leern1s1gtrvhp/AJKc
E8VeWJJbWYCUtv/c4qs6Oz7fchSvPqG3VJ4um/3NrbdtnXjzT+jAk398d/8dzUUz6vQte+65tPy2
S6tvPbai6ByicI1E4Ut1kw8tr3puR4C/a8O4p7qw0xftOXJyofnIqU9DUew2QxS7/KaZlxsM64+H
z7x5+tHpL0exn+1eFMUes7WdeC2KHW3ufI3e1PnOD589s7fz5FOQhXOPVrzd1vSbcNvXj9CfHNv+
RffJtu7r1yRjnNTpqz92yZZds55V11SfvfaR8NmjsJc//SCKdT1zRdfsFzZ3rN5zaNr76poN3RMX
zuqOfNT5yfgotm3J+MqCD/aUvn5Y/OUXqoqGKDb2yUejWCm79cidUWzfb+9cv+bLw1dRxx3VoaSq
zUmctbz+q+WT7/ttnutHTHDe9qrO/FO7/d3vPHGOyEIKG844Vj+8ctH9H6nKZ+8179568N73z329
9WxL8MUGJKqyTfO+2ppYXpAot5eWFnbvfOKzAijPiZH3tt1y7Q+Xrf6XYM7U65/576n/ekfHTvsO
4S87LJ177VFsc7i7Oop9uez+9VtuKdSv+0URVfiN48jJRbMPT4ti90exM1Nmq5ut20NEsf88ufVY
wbuF35zd+Ur3xDWnV3fu7+zeviYRar9/w+HJnQfOtp1arbUb2u26kupe6yp85oXHC9d3YVrWspaH
T9b2CbSkJS1pSUta0pKWtKQlLWlJS1rSkpa0pKVhk/4fvjYvMQCgAAA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82455</attachid>
            <date>2013-09-22 10:48:36 +0000</date>
            <delta_ts>2013-09-22 10:48:36 +0000</delta_ts>
            <desc>Fix mapping of file extension to mime type</desc>
            <filename>umbrello-fix-file-type-mapping-bug-316095.patch</filename>
            <type>text/plain</type>
            <size>1998</size>
            <attacher name="Joris Steyn">kde</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3VtYnJlbGxvL3VtbHZpZXdpbWFnZWV4cG9ydGVybW9kZWwuY3BwIGIvdW1i
cmVsbG8vdW1sdmlld2ltYWdlZXhwb3J0ZXJtb2RlbC5jcHAKaW5kZXggMTM2NGFiNi4uNDBlY2M2
NSAxMDA2NDQKLS0tIGEvdW1icmVsbG8vdW1sdmlld2ltYWdlZXhwb3J0ZXJtb2RlbC5jcHAKKysr
IGIvdW1icmVsbG8vdW1sdmlld2ltYWdlZXhwb3J0ZXJtb2RlbC5jcHAKQEAgLTEwNywxNyArMTA3
LDI0IEBAIFFTdHJpbmdMaXN0IFVNTFZpZXdJbWFnZUV4cG9ydGVyTW9kZWw6OnN1cHBvcnRlZE1p
bWVUeXBlcygpCiBRU3RyaW5nIFVNTFZpZXdJbWFnZUV4cG9ydGVyTW9kZWw6OmltYWdlVHlwZVRv
TWltZVR5cGUoY29uc3QgUVN0cmluZyYgaW1hZ2VUeXBlKQogewogICAgIGNvbnN0IFFTdHJpbmcg
aW1nVHlwZSA9IGltYWdlVHlwZS50b0xvd2VyKCk7Ci0gICAgaWYgKFFTdHJpbmcoImJtcCIpID09
IGltZ1R5cGUpIHJldHVybiAiaW1hZ2UvYm1wIjsKLSAgICBpZiAoUVN0cmluZygiZG90IikgPT0g
aW1nVHlwZSkgcmV0dXJuICJpbWFnZS94LWRvdCI7Ci0gICAgaWYgKFFTdHJpbmcoImpwZWciKSA9
PSBpbWdUeXBlKSByZXR1cm4gImltYWdlL2pwZWciOwotICAgIGlmIChRU3RyaW5nKCJwYm0iKSA9
PSBpbWdUeXBlKSByZXR1cm4gImltYWdlL3gtcG9ydGFibGUtYml0bWFwIjsKLSAgICBpZiAoUVN0
cmluZygicGdtIikgPT0gaW1nVHlwZSkgcmV0dXJuICJpbWFnZS94LXBvcnRhYmxlLWdyYXltYXAi
OwotICAgIGlmIChRU3RyaW5nKCJwbmciKSA9PSBpbWdUeXBlKSByZXR1cm4gImltYWdlL3BuZyI7
Ci0gICAgaWYgKFFTdHJpbmcoInBwbSIpID09IGltZ1R5cGUpIHJldHVybiAiaW1hZ2UveC1wb3J0
YWJsZS1waXhtYXAiOwotICAgIGlmIChRU3RyaW5nKCJ4Ym0iKSA9PSBpbWdUeXBlKSByZXR1cm4g
ImltYWdlL3gteGJpdG1hcCI7Ci0gICAgaWYgKFFTdHJpbmcoInhwbSIpID09IGltZ1R5cGUpIHJl
dHVybiAiaW1hZ2UveC14cGl4bWFwIjsKLSAgICBpZiAoUVN0cmluZygiZXBzIikgPT0gaW1nVHlw
ZSkgcmV0dXJuICJpbWFnZS94LWVwcyI7Ci0gICAgaWYgKFFTdHJpbmcoInN2ZyIpID09IGltZ1R5
cGUpIHJldHVybiAiaW1hZ2Uvc3ZnK3htbCI7CisKKyAgICAvLyBpbWFnZVR5cGUgaXMgYSBsaXN0
IG9mIG9uZSBvciBtb3JlIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucworICAgIC8vIGZvciBhIHNl
bGVjdGVkIGZpbGUgdHlwZSwgZm9yIGV4YW1wbGU6CisgICAgLy8gICBCaXRtYXA6ICJibXAgZGli
IgorICAgIC8vICAgSlBFRzogICAianBlZyBqcGciCisgICAgLy8gICBQTkc6ICAgICJwbmciCisg
ICAgaWYgKGltZ1R5cGUuY29udGFpbnMoImJtcCIpKSByZXR1cm4gImltYWdlL2JtcCI7CisgICAg
aWYgKGltZ1R5cGUuY29udGFpbnMoImRvdCIpKSByZXR1cm4gImltYWdlL3gtZG90IjsKKyAgICBp
ZiAoaW1nVHlwZS5jb250YWlucygianBlZyIpKSByZXR1cm4gImltYWdlL2pwZWciOworICAgIGlm
IChpbWdUeXBlLmNvbnRhaW5zKCJwYm0iKSkgcmV0dXJuICJpbWFnZS94LXBvcnRhYmxlLWJpdG1h
cCI7CisgICAgaWYgKGltZ1R5cGUuY29udGFpbnMoInBnbSIpKSByZXR1cm4gImltYWdlL3gtcG9y
dGFibGUtZ3JheW1hcCI7CisgICAgaWYgKGltZ1R5cGUuY29udGFpbnMoInBuZyIpKSByZXR1cm4g
ImltYWdlL3BuZyI7CisgICAgaWYgKGltZ1R5cGUuY29udGFpbnMoInBwbSIpKSByZXR1cm4gImlt
YWdlL3gtcG9ydGFibGUtcGl4bWFwIjsKKyAgICBpZiAoaW1nVHlwZS5jb250YWlucygieGJtIikp
IHJldHVybiAiaW1hZ2UveC14Yml0bWFwIjsKKyAgICBpZiAoaW1nVHlwZS5jb250YWlucygieHBt
IikpIHJldHVybiAiaW1hZ2UveC14cGl4bWFwIjsKKyAgICBpZiAoaW1nVHlwZS5jb250YWlucygi
ZXBzIikpIHJldHVybiAiaW1hZ2UveC1lcHMiOworICAgIGlmIChpbWdUeXBlLmNvbnRhaW5zKCJz
dmciKSkgcmV0dXJuICJpbWFnZS9zdmcreG1sIjsKKwogICAgIHJldHVybiBRU3RyaW5nKCk7CiB9
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>