diff --git a/Magick++/bin/Magick++-config b/Magick++/bin/Magick++-config
index 8a62679..b792152 100755
--- a/Magick++/bin/Magick++-config
+++ b/Magick++/bin/Magick++-config
@@ -55,7 +55,7 @@
       echo '-L/usr/local/lib '
       ;;
     --libs)
-      echo "-L${libdir} -lMagick++ -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
+      echo "-L${libdir} -lMagick++ -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
       ;;
     *)
       echo "${usage}" 1>&2
diff --git a/PerlMagick/Makefile.PL b/PerlMagick/Makefile.PL
index 2353a81..0ab1ef0 100644
--- a/PerlMagick/Makefile.PL
+++ b/PerlMagick/Makefile.PL
@@ -138,7 +138,7 @@
 }
 
 # defaults for LIBS & INC & CCFLAGS params that we later pass to Writemakefile
-my $INC_magick = '-I../ -I.. -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
+my $INC_magick = '-I../ -I.. -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
 my $LIBS_magick = '-L../magick/.libs -lMagickCore -lperl -lm';
 my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -pthread";
 my $LDFLAGS_magick   = "-L../magick/.libs -lMagickCore $Config{'ldflags'} ";
@@ -183,7 +183,7 @@
    #'CC' => 'gcc -std=gnu99 -std=gnu99',
 
    # C pre-processor flags (e.g. -I & -D options)
-   # 'CPPFLAGS' => "$Config{'cppflags'} -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/libxml2",
+   # 'CPPFLAGS' => "$Config{'cppflags'} -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/libxml2",
 
    # C compiler flags (e.g. -O -g)
    'CCFLAGS' => $CCFLAGS_magick,
diff --git a/config/config.h.in b/config/config.h.in
index 8d83d74..9a8a6d3 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -330,6 +330,9 @@
 /* Define if g++ supports namespace std. */
 #undef HAVE_NAMESPACE_STD
 
+/* Define to 1 if you have the `nanosleep' function. */
+#undef HAVE_NANOSLEEP
+
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 #undef HAVE_NDIR_H
 
diff --git a/config/configure.xml b/config/configure.xml
index f0c83f3..9e23929 100644
--- a/config/configure.xml
+++ b/config/configure.xml
@@ -9,7 +9,7 @@
   <configure name="NAME" value="ImageMagick"/>
   <configure name="LIB_VERSION" value="0x663"/>
   <configure name="LIB_VERSION_NUMBER" value="6,6,3,0"/>
-  <configure name="RELEASE_DATE" value="2010-06-30"/>
+  <configure name="RELEASE_DATE" value="2010-07-01"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
@@ -20,7 +20,7 @@
   <configure name="PCFLAGS" value="-fopenmp"/>
   <configure name="DEFS" value="-DHAVE_CONFIG_H"/>
   <configure name="LDFLAGS" value="-L/usr/local/lib "/>
-  <configure name="LIBS" value="-lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -lz -lm -lgomp -lpthread -lltdl"/>
+  <configure name="LIBS" value="-lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread -lltdl"/>
   <configure name="CXX" value="g++"/>
   <configure name="CXXFLAGS" value="-g -O2 -pthread"/>
   <configure name="DISTCHECK_CONFIG_FLAGS" value="--disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-gslib=no --with-fontpath= --with-perl=no"/>
diff --git a/configure b/configure
index 8d1abb8..bed7a71 100755
--- a/configure
+++ b/configure
@@ -23114,7 +23114,7 @@
 LIBS="$MATH_LIBS $LIBS"
 
 
-for ac_func in _exit atexit cimag clock directio execvp fchmod floor fork ftime ftruncate getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 localtime_r lstat memmove memset mkstemp munmap _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign pow pread pwrite raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times usleep utime vsprintf vsnprintf waitpid _wfopen _wstat
+for ac_func in _exit atexit cimag clock directio execvp fchmod floor fork ftime ftruncate getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 localtime_r lstat memmove memset mkstemp munmap nanosleep _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign pow pread pwrite raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times usleep utime vsprintf vsnprintf waitpid _wfopen _wstat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index d7a291e..0846b34 100755
--- a/configure.ac
+++ b/configure.ac
@@ -993,7 +993,7 @@
 LIBS="$MATH_LIBS $LIBS"
 AC_SUBST(MATH_LIBS)
 
-AC_CHECK_FUNCS([_exit atexit cimag clock directio execvp fchmod floor fork ftime ftruncate getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 localtime_r lstat memmove memset mkstemp munmap _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign pow pread pwrite raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times usleep utime vsprintf vsnprintf waitpid _wfopen _wstat])
+AC_CHECK_FUNCS([_exit atexit cimag clock directio execvp fchmod floor fork ftime ftruncate getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 localtime_r lstat memmove memset mkstemp munmap nanosleep _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign pow pread pwrite raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times usleep utime vsprintf vsnprintf waitpid _wfopen _wstat])
 
 #
 # Check for clock_gettime().
diff --git a/magick/Magick-config b/magick/Magick-config
index 08384d2..10a7e22 100755
--- a/magick/Magick-config
+++ b/magick/Magick-config
@@ -52,7 +52,7 @@
       echo '-L/usr/local/lib '
       ;;
     --libs)
-      echo "-L${libdir} -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
+      echo "-L${libdir} -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
       ;;
     *)
       echo "${usage}" 1>&2
diff --git a/magick/cache.c b/magick/cache.c
index 78d6122..7da1c951 100644
--- a/magick/cache.c
+++ b/magick/cache.c
@@ -56,12 +56,14 @@
 #include "magick/memory_.h"
 #include "magick/pixel.h"
 #include "magick/pixel-private.h"
+#include "magick/policy.h"
 #include "magick/quantum.h"
 #include "magick/random_.h"
 #include "magick/resource_.h"
 #include "magick/semaphore.h"
 #include "magick/splay-tree.h"
 #include "magick/string_.h"
+#include "magick/string-private.h"
 #include "magick/thread-private.h"
 #include "magick/utility.h"
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
@@ -2139,7 +2141,6 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-
 static inline MagickBooleanType ValidatePixelCacheMorphology(const Image *image)
 {
   CacheInfo
@@ -2173,7 +2174,7 @@
     time_limit = 0;
 
   static time_t
-    cache_timer = 0;
+    cache_genesis = 0;
 
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
@@ -2182,10 +2183,10 @@
   if (time_limit == 0)
     {
       time_limit=GetMagickResourceLimit(TimeResource);
-      cache_timer=time((time_t *) NULL);
+      cache_genesis=time((time_t *) NULL);
     }
   if ((time_limit != MagickResourceInfinity) &&
-      ((MagickSizeType) (time((time_t *) NULL)-cache_timer) >= time_limit))
+      ((MagickSizeType) (time((time_t *) NULL)-cache_genesis) >= time_limit))
     ThrowFatalException(ResourceLimitFatalError,"TimeLimitExceeded");
   assert(image->cache != (Cache) NULL);
   cache_info=(CacheInfo *) image->cache;
diff --git a/magick/effect.c b/magick/effect.c
index 3ace1d5..2fe6d61 100644
--- a/magick/effect.c
+++ b/magick/effect.c
@@ -326,8 +326,8 @@
           i=(ssize_t) width;
       if ((i & 0x01) != 0)
         i--;
-      p=GetCacheViewVirtualPixels(image_view,x-((ssize_t) (width-i)/2L),y-(ssize_t)
-        ((width-i)/2L),width-i,width-i,exception);
+      p=GetCacheViewVirtualPixels(image_view,x-((ssize_t) (width-i)/2L),y-
+        (ssize_t) ((width-i)/2L),width-i,width-i,exception);
       if (p == (const PixelPacket *) NULL)
         break;
       indexes=GetCacheViewVirtualIndexQueue(image_view);
diff --git a/magick/magick-config.h b/magick/magick-config.h
index b0ddee4..3846f44 100644
--- a/magick/magick-config.h
+++ b/magick/magick-config.h
@@ -495,6 +495,11 @@
 #define MAGICKCORE_HAVE_NAMESPACE_STD /**/
 #endif
 
+/* Define to 1 if you have the `nanosleep' function. */
+#ifndef MAGICKCORE_HAVE_NANOSLEEP
+#define MAGICKCORE_HAVE_NANOSLEEP 1
+#endif
+
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 /* #undef HAVE_NDIR_H */
 
diff --git a/magick/resource.c b/magick/resource.c
index ed18b9a..8665d37 100644
--- a/magick/resource.c
+++ b/magick/resource.c
@@ -260,8 +260,8 @@
   }
   UnlockSemaphoreInfo(resource_semaphore);
   (void) LogMagickEvent(ResourceEvent,GetMagickModule(),"%s: %sB/%sB/%sB",
-    MagickOptionToMnemonic(MagickResourceOptions,(ssize_t) type),resource_request,
-    resource_current,resource_limit);
+    MagickOptionToMnemonic(MagickResourceOptions,(ssize_t) type),
+    resource_request,resource_current,resource_limit);
   return(status);
 }
 
@@ -799,8 +799,8 @@
   }
   UnlockSemaphoreInfo(resource_semaphore);
   (void) LogMagickEvent(ResourceEvent,GetMagickModule(),"%s: %sB/%sB/%sB",
-    MagickOptionToMnemonic(MagickResourceOptions,(ssize_t) type),resource_request,
-    resource_current,resource_limit);
+    MagickOptionToMnemonic(MagickResourceOptions,(ssize_t) type),
+      resource_request,resource_current,resource_limit);
 }
 
 /*
diff --git a/magick/resource_.h b/magick/resource_.h
index 0977693..48f0cb3 100644
--- a/magick/resource_.h
+++ b/magick/resource_.h
@@ -31,7 +31,8 @@
   MapResource,
   MemoryResource,
   ThreadResource,
-  TimeResource
+  TimeResource,
+  ThrottleResource
 } ResourceType;
 
 #define MagickResourceInfinity  MagickULLConstant(~0)
diff --git a/magick/utility.c b/magick/utility.c
index 01b45dc..f7ba986 100644
--- a/magick/utility.c
+++ b/magick/utility.c
@@ -1779,6 +1779,73 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
+%   M a g i c k D e l a y                                                     %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  MagickDelay() suspends program execution for the number of milliseconds
+%  specified.
+%
+%  The format of the Delay method is:
+%
+%      void MagickDelay(const MagickSizeType milliseconds)
+%
+%  A description of each parameter follows:
+%
+%    o milliseconds: Specifies the number of milliseconds to delay before
+%      returning.
+%
+*/
+MagickExport void MagickDelay(const MagickSizeType milliseconds)
+{
+  if (milliseconds == 0)
+    return;
+#if defined(MAGICKCORE_HAVE_NANOSLEEP)
+  {
+    struct timespec
+      timer;
+
+    timer.tv_sec=(time_t) (milliseconds/1000);
+    timer.tv_nsec=(milliseconds % 1000)*1000*1000;
+    (void) nanosleep(&timer,(struct timespec *) NULL);
+  }
+#elif defined(MAGICKCORE_HAVE_USLEEP)
+  usleep(1000*milliseconds);
+#elif defined(MAGICKCORE_HAVE_SELECT)
+  {
+    struct timeval
+      timer;
+
+    timer.tv_sec=(long) milliseconds/1000;
+    timer.tv_usec=(long) (milliseconds % 1000)*1000;
+    (void) select(0,(XFD_SET *) NULL,(XFD_SET *) NULL,(XFD_SET *) NULL,&timer);
+  }
+#elif defined(MAGICKCORE_HAVE_POLL)
+  (void) poll((struct pollfd *) NULL,0,(int) milliseconds);
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
+  Sleep((long) milliseconds);
+#elif defined(vms)
+  {
+    float
+      timer;
+
+    timer=milliseconds/1000.0;
+    lib$wait(&timer);
+  }
+#elif defined(__BEOS__)
+  snooze(1000*milliseconds);
+#else
+# error "Time delay method not defined."
+#endif
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
 %  M u l t i l i n e C e n s u s                                              %
 %                                                                             %
 %                                                                             %
diff --git a/magick/utility.h b/magick/utility.h
index 619628c..9445449 100644
--- a/magick/utility.h
+++ b/magick/utility.h
@@ -69,7 +69,8 @@
   AppendImageFormat(const char *,char *),
   ChopPathComponents(char *,const size_t),
   ExpandFilename(char *),
-  GetPathComponent(const char *,PathType,char *);
+  GetPathComponent(const char *,PathType,char *),
+  MagickDelay(const MagickSizeType);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/magick/version.h b/magick/version.h
index 3461133..994c544 100644
--- a/magick/version.h
+++ b/magick/version.h
@@ -33,8 +33,8 @@
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  4
 #define MagickLibMinInterface  4
-#define MagickReleaseDate  "2010-06-30"
-#define MagickChangeDate   "20100628"
+#define MagickReleaseDate  "2010-07-01"
+#define MagickChangeDate   "20100701"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #define MagickHomeURL  "file:///usr/local/share/doc/ImageMagick-6.6.3/index.html"
 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
diff --git a/magick/xwindow.c b/magick/xwindow.c
index 4d4dbef..6c831ee 100644
--- a/magick/xwindow.c
+++ b/magick/xwindow.c
@@ -1780,36 +1780,7 @@
 {
   assert(display != (Display *) NULL);
   (void) XFlush(display);
-  if (milliseconds == 0)
-    return;
-#if defined(MAGICKCORE_WINDOWS_SUPPORT)
-  Sleep((long) milliseconds);
-#elif defined(vms)
-  {
-    float
-      timer;
-
-    timer=milliseconds/1000.0;
-    lib$wait(&timer);
-  }
-#elif defined(MAGICKCORE_HAVE_USLEEP)
-  usleep(1000*milliseconds);
-#elif defined(MAGICKCORE_HAVE_SELECT)
-  {
-    struct timeval
-      timer;
-
-    timer.tv_sec=(ssize_t) milliseconds/1000;
-    timer.tv_usec=(ssize_t) (milliseconds % 1000)*1000;
-    (void) select(0,(XFD_SET *) NULL,(XFD_SET *) NULL,(XFD_SET *) NULL,&timer);
-  }
-#elif defined(MAGICKCORE_HAVE_POLL)
-  (void) poll((struct pollfd *) NULL,0,(int) milliseconds);
-#elif defined(__BEOS__)
-  snooze(1000*milliseconds);
-#else
-# error "Time delay method not defined."
-#endif
+  MagickDelay(milliseconds);
 }
 
 /*
diff --git a/wand/Wand-config b/wand/Wand-config
index cbb9b0d..0ec3e67 100755
--- a/wand/Wand-config
+++ b/wand/Wand-config
@@ -52,7 +52,7 @@
       echo '-L/usr/local/lib '
       ;;
     --libs)
-      echo "-L${libdir} -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
+      echo "-L${libdir} -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -ldjvulibre -lfftw3 -lfontconfig -lwmf -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread -lltdl"
       ;;
     *)
       echo "${usage}" 1>&2